Encontre todos os arquivos que não contêm uma determinada string

Encontre todos os arquivos que não contêm uma determinada string

grep -l "this is a test" listará todos os arquivos $pwdque contêm a string especificada. Mas

grep -vl "this is a test" listará todos os arquivos, incluindo aqueles, porque aqueles que contêm essa string também contêm linhas sem essa string.

Eu poderia construir uma lista do primeiro grupo e depois listar todos os arquivos do diretório que não estão nessa lista, mas existe uma maneira mais simples? Eu normalmente uso bash, mas posso mudar para cshou mesmo perlse ajudar.

Responder1

Fgrep -o -r -i -L string * -o relata apenas o arquivo -r recursivo em subdiretórios -i não diferencia maiúsculas de minúsculas -L, --files-without-match Suprime a saída normal; em vez disso, imprima o nome de cada arquivo de entrada do qual normalmente nenhuma saída seria impressa. A varredura irá parar na primeira partida.

informação relacionada