
grep -l "this is a test"
listará todos os arquivos $pwd
que 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 csh
ou mesmo perl
se 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.