【发布时间】:2016-09-22 20:12:32
【问题描述】:
我有一个 perl 单行,当日志语句在一行时可以工作:
find -type f -iname "*java" | xargs -d'\n' -n 1 perl -i -pe 's{(log.*((info)|(debug)).*)}{//$1}gi'
但是尝试修改它以在多行上工作是很棘手的。我知道 s 修饰符将匹配换行符,但我如何让它注释掉后续行(即假设日志字符串没有它,最多 ;)?
我也可以将多行日志语句转换为单行日志语句的解决方案。我也会接受 C 风格的 cmets(尽管为 C++ 风格的 cmets 找到解决方案会很好)。
(不要告诉我关闭日志记录。任何真正尝试过的人都会意识到这在非平凡的应用程序中是多么的复杂。)
【问题讨论】: