Ändern Sie den Befehl, um beliebigen Text zu finden

Ändern Sie den Befehl, um beliebigen Text zu finden

Ich habe diese Befehlszeile, um die Zeichenfolge zu suchen und zu entfernen: text_to_remove(SOME_VALUE).

find . -type f -name "*php" -exec sed -i 's/text_to_remove(SOME_VALUE)//' {} \+

Es funktioniert einwandfrei, aber das Problem besteht darin, dass „SOME_VALUE“ ein beliebiger Text sein kann. Gibt es eine Möglichkeit, diese Zeile zu ändern, um jeden beliebigen Wert in „SOME_VALUE“ abzufangen?

Antwort1

Vorausgesetzt, dass SOME_VALUEnie eine schließende Klammer enthält, können Sie verwenden

find . -type f -name "*php" -exec sed -i 's/text_to_remove([^)]*)//' {} \+

( [^)]*bedeutet jedes Zeichen, das nicht ist ), 0 oder mehr Mal.)

verwandte Informationen