В каталоге есть сотни .html
файлов. Мне нужно удалить файлы, которые не содержат слова bluecar
в их содержимом.
Я думал, что sed с rm сделает это, но я не знаю, как их объединить.
Это должно работать с использованием grep:
grep -L bluecar *.html | xargs rm
С GNU grep / xargs вы можете использовать
grep -LZ -- str *.html | xargs -r0 rm
Инструмент find
является обычным.
find . -name "*.html" \( -exec grep -q bluecar {} \; -o -exec rm {} \; \)
или
find . -name "*.html" ! -exec grep -q bluecar {} \; -exec rm {} \;
Но сначала попробуйте на копии …