Necesito la sintaxis de GREP para la siguiente tarea (estoy en un sistema operativo LINUX):
consulta TODOS los archivos en el directorio ACTUAL que contienen STRING pero solo enumera los FILENAMES que contienen una coincidencia.
¡Gracias!
Necesito la sintaxis de GREP para la siguiente tarea (estoy en un sistema operativo LINUX):
consulta TODOS los archivos en el directorio ACTUAL que contienen STRING pero solo enumera los FILENAMES que contienen una coincidencia.
¡Gracias!
Respuestas:
Puedes usar
grep -rl stringToSearch .
o
find . -type f -exec grep -l stringToSearch {} \;
Para obtener más información sobre grep
y otros comandos de Unix, consulte el manual ( man
)
En ese caso man grep
dice que
-l, --files-with-match Suprime la salida normal; en su lugar, imprima el nombre de cada archivo de entrada desde el que normalmente se habría impreso la salida.
El escaneo se detendrá en el primer partido.
Obviamente, como un comando bash, si su cadena contiene caracteres o espacios especiales, debe (en orden) escapar de ellos y / o rodear su cadena con cuotas
"Grep -l" le dará la lista de nombres de archivo.
> echo "hello" > test_file1.list
> echo "hello2.." > test_file2.list
> echo "xyz" > test_file3.list
> grep "hello" test_file*list
test_file1.list:hello
test_file2.list:hello2..
> grep -l "hello" test_file*list
test_file1.list
test_file2.list