我用这个正则表达式从python代码库中删除所有打印语句:
for f in $(find . -name '*.py') ;
do
egrep -v '^[ t]print ' $f > $f.new
mv $f.new $f
done
但它并没有真正工作…
find . -name '*.py' | xargs egrep '^[ t]*print'
仍然打印出我代码中的print语句。(
然而,我想修改这个注释所有有打印语句的行(这样它们就不会完全从代码库中消失)。
我如何才能有效地做到这一点?更好的是,有一种自动的方式将所有内容转换为日志框架?
Sed是该工作的工具。
find . -name '*.py' -exec sed -ri "s/(^s*)(print.*$)/#12/g" {} ;
Mac OS X或BSD:
find . -name '*.py' -exec sed -Ei "s/(^[[:space:]]*)(print.*$)/#12/g" {} ;