Linux GREP / SED [xargs] znajduje wzorzec i numer linii w plikach i usuwa za pomocą SED

Moja sytuacja jest:

Mam bardzo długi ciąg tekstowy zawierający znaki specjalne, które występują w długiej linii w różnych plikach. Pliki zawierające ciąg znajdują się w całym systemie plików (Linux). Ciąg może znajdować się na różnych numerach linii w plikach, w których występuje, ale występuje raz na plik. Ciąg zawiera jednak określony wzór, który mogę włączyć, aby zidentyfikować cały ciąg.

Wiem, jak znaleźć nazwy plików zawierających ciąg, wpisując „prefiks” ciągu za pomocą GREP -lir mystringprefix / path.

Wiem, jak określić numer wiersza w pliku za pomocą GREP i SED za pomocą grep -n "prefix" file.name | sed -n „s / ^ ([0-9]) [:]./ 1 / p ”.

Wiem, jak używać SED, aby usunąć miejsce w pliku zawierającym interesujący cię ciąg, używając sed -i xd / path / file (x to numer linii do usunięcia).

Moje pytanie brzmi: jak mogę to wszystko połączyć, aby określić, które pliki zawierają wzorzec, przekazać nazwę do GREP, aby określić numer linii w pliku, a następnie przekazać nazwę i numer linii do SED, aby usunąć linię?

Muszę to zrobić w taki sposób, aby rozpocząć w określonej lokalizacji w systemie plików, a następnie rekurencyjnie wyszukiwać / usuwać.

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion