Suchen und Ersetzen vollständiger Zeilen in rekursiven Dateien

Suchen und Ersetzen vollständiger Zeilen in rekursiven Dateien

Ich benutze:

grep -n -H -o -R -e textword .

Listen Sie alle Dateien im Verzeichnis „.“ mit der Zeichenfolge „Textwort“ rekursiv auf und zeigen Sie die Datei, die Zeile und nur den übereinstimmenden Teil an.

Ich muss mit einem Linux-Befehl Zeilen entfernen, die mit dem Text übereinstimmen.

Antwort1

find . -type f -exec sed -r -i "/textword/d" {} +

Denken Sie daran, dass der Suchtext sed(mit der -rOption) als regulärer Ausdruck interpretiert wird und daher möglicherweise maskiert werden muss.

Zum sed -i.backupSichern von Originaldateien als <filename>.backup.

Antwort2

Mit GNU findkönnten sedSie:

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'

verwandte Informationen