
grep -l "this is a test"
enumerará todos los archivos $pwd
que contienen la cadena especificada. Pero
grep -vl "this is a test"
enumerará todos los archivos, incluidos aquellos, porque aquellos que contienen esa cadena también contienen líneas sin esa cadena.
Podría crear una lista del primer grupo y luego enumerar todos los archivos del directorio que no están en esa lista, pero ¿hay alguna forma más sencilla? Normalmente uso bash
, pero puedo cambiar a csh
o incluso perl
si fuera útil.
Respuesta1
Fgrep -o -r -i -L cadena * -o informa el archivo solo -r recursivo en subdirectorios -i no distingue entre mayúsculas y minúsculas -L, --files- without-match Suprime la salida normal; en su lugar, imprima el nombre de cada archivo de entrada del cual normalmente no se habría impreso ninguna salida. El escaneo se detendrá en el primer partido.