Z GNU sed:
find . -type f -print0 | xargs -0 sed -i /KeyWord/d
Z OSX sed:
find . -type f -print0 | xargs -0 sed -i '' /KeyWord/d
Pierwsze polecenie findwyszukuje wszystkie standardowe pliki (nie katalogi, potoki itp.), Drukuje je oddzielone \0(tak, że nazwy plików mogą zawierać spacje, znaki nowej linii itp.).
Drugie polecenie xargsodczytuje wynik find, pobiera listę opartą na separatorze (z \0powodu -0), wywołuje sed -i [...]z dodanymi parametrami z listy ( sedbędzie wywoływana wiele razy, jeśli jest dużo plików, ponieważ maksymalna długość parametrów jest ograniczona w każde wywołanie).
W sedmodyfikuje poleceń w miejscu ( -i).
Jeśli chodzi o /KeyWord/dto, usunie wiersze zawierające wyrażenie regularne KeyWord.
Powinieneś nauczyć sedsię poprawnie rozumieć składnię (prostą, ale niezwykłą) i odnieść się do odpowiednich stron podręcznika, aby uzyskać więcej informacji na temat zaangażowanych tutaj narzędzi.
I jak lubię promować zsh, rozwiązanie z rozszerzonymi globami:
sed -i /KeyWord/d **/*(.)