Como encontrar arquivos que não possuem conteúdo específico?

Como encontrar arquivos que não possuem conteúdo específico?

Tenho muitos arquivos que já possuem registros SPF definidos

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"

E deseja encontrar todos os arquivos sem registros SPF. Algumas dicas?

Responder1

GNU grep tem a -Lopção inversa de -l. Ele lista arquivos sem correspondências. Então você pode fazer

grep -iL v=spf *.db

Com um grep mais tradicional, você pode fazer uma -ccontagem e depois selecionar aqueles que contam com 0 correspondências:

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

informação relacionada