【发布时间】:2020-07-14 00:49:41
【问题描述】:
作为优化的一部分,我正在尝试替换所有包含该字符串的 Java 文件:
logger.trace("some trace message");
与:
if (logger.isTraceEnabled())
{
logger.trace("some trace message");
}
注意一些跟踪消息不是确切的字符串,而是一个示例。这个字符串对于每个实例都是不同的。
我正在使用 bash 脚本和 sed,但无法完全正确地执行命令。
我之前在 bash 脚本中尝试过这样插入:
traceStmt="if (logger.isTraceEnabled())
{
"
find . -type f -name '*.java' | xargs sed "s?\(logger\.trace\)\(.*\)?\1${traceStmt}?g"
我也尝试了不同的变体,但没有成功。
【问题讨论】: