Удаление файлов, если содержимое не соответствует шаблону

В каталоге есть сотни .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 {} \; 

Но сначала попробуйте на копии …