Linux GREP / SED [xargs] findet Muster und Zeilennummer in Dateien und entfernt sie mit SED

Meine Situation ist:

Ich habe eine sehr lange Textzeichenfolge mit Sonderzeichen, die in verschiedenen Dateien in einer langen Zeile vorkommt. Dateien, die die Zeichenfolge enthalten, befinden sich im gesamten Dateisystem (Linux). Die Zeichenfolge kann sich in den Dateien, in denen sie vorkommt, in verschiedenen Zeilennummern befinden, kommt jedoch einmal pro Datei vor. Die Zeichenfolge enthält jedoch ein bestimmtes Muster, das ich zur Identifizierung der gesamten Zeichenfolge eingeben kann.

Ich weiß, wie man die Namen von Dateien findet, die den String enthalten, indem man das 'Präfix' des Strings mit GREP -lir mystringprefix / path eingibt.

Ich weiß, wie man die Zeilennummer des Strings in der Datei mit GREP und SED mit grep -n "prefix" file.name | ermittelt sed-n “s / ^ ([0-9]) [:]./ \ 1 / p ”.

Ich kann SED verwenden, um die Zeile in der Datei, die die Zeichenfolge von Interesse enthält, mit sed -i xd / path / file zu löschen (x ist die zu löschende Zeilennummer).

Meine Frage ist, wie ich all dies zusammenfassen kann, um zu bestimmen, welche Dateien das Muster enthalten, den Namen an GREP übergeben, um die Zeilennummer in der Datei zu bestimmen, und dann sowohl den Namen als auch die Zeilennummer an SED übergeben, um die Zeile zu entfernen.

Ich muss dies so tun, dass es an einer bestimmten Stelle im Dateisystem beginnt und dann rekursiv gesucht / gelöscht wird.

Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage