Encuentra todos los archivos que no contienen una cadena determinada

Encuentra todos los archivos que no contienen una cadena determinada

grep -l "this is a test" enumerará todos los archivos $pwdque 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 csho incluso perlsi 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.

información relacionada