Как найти файл, не имеющий определенного содержимого?

Как найти файл, не имеющий определенного содержимого?

У меня много файлов, в которых уже определены записи SPF.

grep -i v=spf *.db

/var/named/domain.com.db

domain.com.  14400   IN      TXT     "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ?all"

И хотите найти все файлы без записей SPF. Какие-нибудь подсказки?

решение1

GNU grep имеет -Lопцию, обратную -l. Она выводит список файлов без совпадений. Так что вы можете сделать

grep -iL v=spf *.db

С помощью более традиционного grep вы можете выполнить подсчет -c, а затем выбрать те, у которых количество совпадений равно 0:

grep -ic v=spf *.db | grep ':0$' | sed 's/:0$//'

Связанный контент