ファイルの一括置換ワンライナー(複数行対応)

  • 2
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ソース

find src/ -type f -name '*pp' -print | xargs grep -l DEBUG_LOG | while read cppfile; do;perl -0777 -i -pe 'print s/DEBUG_LOG(.*?);//gs;' $cppfile; done;

利用シーン

下記の様なデバッグログがあったとしてプロダクションなどではログを生成するコストすらも削ぎ落としたい場合

hoge.cpp
DEBUG_LOG << "Debug log, as single line." << std::flush;

DEBUG_LOG 
  << "Debug log" 
  << ", as multiple line."
  << std::flush;