omitir nombres de archivo en grep

18

Estoy agrupando una cadena de varios archivos, pero el único efecto secundario no deseado es el nombre de archivo que precede a la salida. ¿Cómo puedo suprimir las salidas de nombre de archivo usando solo grep?

  $ grep -i lp lpNet* 
    lpNet:This was printed via the internet using the lp command.
    lpNet:I believe lp doesnt care what the device is. 
    lpNet1:This was printed via the internet using the lp command.
    lpNet1:I believe lp doesnt care what the device is. 
    lpNet2:This was printed via the internet using the lp command.
    lpNet2:I believe lp doesnt care what the device is. 
    lpNet3:This was printed via the internet using the lp command.
    lpNet3:I believe lp doesnt care what the device is. 

He resuelto el problema por ahora usando cat lpNet * | grep lp Me pregunto si hay un camino más eficiente para tener el mismo efecto.

j0h
fuente

Respuestas:

31

El comportamiento predeterminado es imprimir el nombre del archivo cuando se le dan múltiples argumentos de archivo; para suprimir esto, puede agregar la -hopción o --no-filename

De la Output Line Prefix Controlsección de la página del manual 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.
conductor de acero
fuente