文字列を検索して削除するには、次のコマンド行を使用します: 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 回以上の繰り返しを意味します。)