В рамках оптимизации я пытаюсь заменить все Java файлы, содержащие строку:
logger.trace("some trace message");
на:
if (logger.isTraceEnabled())
{
logger.trace("some trace message");
}
NB. Некоторое сообщение трассировки не является точная строка, но пример. Эта строка будет отличаться для каждого экземпляра.
Я использую bash скрипт и sed, но не могу правильно понять команду.
Я пробовал это в bash сценарий для вставки перед:
traceStmt="if (logger.isTraceEnabled())
{
"
find . -type f -name '*.java' | xargs sed "s?\(logger\.trace\)\(.*\)?\1${traceStmt}?g"
Я также пробовал разные варианты, но безуспешно.