我想使用python代码文件中的sed命令删除所有打印语句(print e和print(e)除外), 我的示例命令是:
sed -i.bak 's/^print\(s+\)\(["]\).*//;/^$/d' test.py
文件的示例内容是:
print "this is comment"
try:
a=[1,2,3]
print a
print 'this is comment again'
return a
except Exception as e:
print e
print (e)
我的查询是删除除print e和print(e)之外的所有print语句,我的命令在这种情况下不起作用,可以任何一个建议好的解决方案吗?
答案 0 :(得分:1)
sed 解决方案:
sed '/print/{/print (*e/!d;}' test.py
/print/
- 处理print
语句
/print (*e/!d
- 删除print
或e
(e
的行
输出:
try:
a=[1,2,3]
return a
except Exception as e:
print e
print (e)