linux - test - grep sin mostrar la ruta/archivo: línea
mover todos los archivos de un directorio a otro en linux (3)
No hay necesidad de find
Si solo busca un patrón dentro de un directorio específico, esto debería ser suficiente:
grep -hn FOO /your/path/*.bar
Donde -h
es el parámetro para ocultar el nombre del archivo, como desde man grep
:
-h, --no-nombre de archivo
Suprima el prefijo de los nombres de archivo en la salida. Este es el valor predeterminado cuando solo hay un archivo (o solo entrada estándar) para buscar.
Tenga en cuenta que estaba usando
-H, --with-filename
Imprime el nombre del archivo para cada coincidencia. Este es el valor predeterminado cuando hay más de un archivo para buscar.
¿Cómo grep y solo devuelve la línea correspondiente? es decir, la ruta / nombre del archivo se omite de los resultados.
En este caso, quiero buscar en todos los archivos .bar en el directorio actual, buscando el término FOO
find . -name ''*.bar'' -exec grep -Hn FOO {} /;
Simplemente reemplace -H
por -h
. Compruebe man grep
para más detalles sobre las opciones
find . -name ''*.bar'' -exec grep -hn FOO {} /;
Verás esto si ejecutas man grep
:
-h, --no-filename
Suppress the prefixing of file names on output. This is the default when there
is only one file (or only standard input) to search.