Вы пробовали что-то вроде:
grep -Eri -l "drucken" app/views | xargs sed -e '/drucken/d' -i
, где «-L» говорит Grep только печатать только имя файла, - Я рассказывает SED, чтобы изменить этот файл на лету.
В качестве альтернативы вы можете зацикливаться с SED через все файлы, но он будет «касаться всех них, даже если файл не содержит запрошенное слово:
find app/views -type f -exec sed -e '/drucken/d' -i {} \;
Похоже, что вы ищете GREP -V
?
-V, --invert-Match Инвертировать ощущение сопоставления, выбрать не совпадающие линии. (-V. Указывается POSIX.)
Итак GREP -V 'drucken' file1> file2
даст вам file2
с этими строками.
В качестве альтернативы и не совпадают, что-то вдоль линий
sed -e '/drucken/d' infile > outfile
Вы можете использовать perl oneliner для этого:
$ cat file
a
b
c
$ perl -i -wne 'if(/b/){print STDOUT $_}else{print}' file
b
$ cat file
a
c