文字列を見つけて削除するコマンドラインは次のとおりですtext_to_remove(SOME_VALUE)
。
find . -type f -name "*php" -exec sed -i 's/text_to_remove(SOME_VALUE)//' {} \+
うまくいきますが、問題は「SOME_VALUE」が任意のテキストになる可能性があることです。 "SOME_VALUE"の値をキャプチャするようにこの行を変更する方法はありますか?
答え1
閉じカッコが含まれていないと仮定すると、SOME_VALUE
次のようになります。
find . -type f -name "*php" -exec sed -i 's/text_to_remove([^)]*)//' {} \+
(以外の[^)]*
すべての文字を0回以上表します。))