Dengan sed GNU:
find . -type f -print0 | xargs -0 sed -i /KeyWord/d
Dengan sed OSX:
find . -type f -print0 | xargs -0 sed -i '' /KeyWord/d
Perintah pertama findmenemukan semua file standar (bukan direktori, atau pipa, atau lain-lain), mencetaknya dengan dipisahkan \0(sehingga nama file dapat berisi spasi, baris baru, dll.).
Perintah kedua xargsmembaca output find, meraih daftar berdasarkan pemisah ( \0karena -0), memanggil sed -i [...]dengan parameter tambahan dari daftar ( sedakan dipanggil beberapa kali jika ada banyak file, karena panjang maksimum parameter dibatasi dalam setiap doa).
The sedperintah memodifikasi di tempat ( -i).
Adapun /KeyWord/d, itu akan menghapus baris yang berisi ekspresi reguler KeyWord.
Anda harus belajar sedmemahami sintaks (sederhana tetapi tidak biasa) dengan benar, dan merujuk ke halaman manual yang sesuai untuk informasi lebih lanjut tentang alat yang terlibat di sini.
Dan karena saya ingin mempromosikan zsh, solusi dengan gumpalan yang diperluas:
sed -i /KeyWord/d **/*(.)