同事问怎么批量把某文本中有"/*" 开头"*/"结尾的内容删除. 比较方便的办法是用awk,sed什么的.
但那两个很久没用, 不记得怎么折腾了. 于是想着用python怎么折腾. 下面的脚本测试没什么问题.
记录一下...
#!/usr/bin/env python
import os, sys
if len(sys.argv) != 2 or not os.path.isdir(sys.argv[1]):
print "Useage: ./script dirname"
sys.exit()
for filename in os.listdir(sys.argv[1]):
if filename.endswith('.txt'):
tmp, check, change = '', False, False
for i in open(filename):
if i.startswith('/*') and i.strip().endswith('*/'):
continue
elif i.startswith('/*'):
check = True
if check:
if i.strip().endswith('*/'):
check = False
else:
change = True
tmp += i
if change:
with open(filename, 'w') as f:
f.write(tmp)