GNU/Linux >> Tutoriales Linux >  >> Linux

grep sin mostrar ruta/archivo:línea

No es necesario find . Si solo está buscando 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, a partir de man grep :

-h, --sin 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 una entrada estándar) para buscar.

Tenga en cuenta que estaba usando

-H, --con-nombre-de-archivo

Imprima el nombre del archivo para cada coincidencia. Este es el valor predeterminado cuando hay más de un archivo para buscar.


Simplemente reemplace -H con -h . Compruebe man grep para más detalles sobre las opciones

find . -name '*.bar' -exec grep -hn FOO {} \;

Desde la página del manual:

-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.

Linux
  1. Mover archivos en Linux sin mv

  2. Buzón ocupado ¿Leer archivo línea por línea?

  3. Linux:¿qué sucede cuando ejecuta Rsync sin una ruta de destino?

  4. Bash:agregue una cadena al final del archivo sin salto de línea

  5. grep una lista grande contra un archivo grande

Cómo leer un archivo línea por línea en Bash

Comando grep de Linux

Extraiga el nombre base del archivo sin ruta y extensión en bash

Agregar una línea a un archivo solo si aún no existe

¿Cómo 'grep' una secuencia continua?

Cómo mostrar el resultado de grep con la ruta completa o el nombre del archivo