ometti i nomi dei file in grep


18

Sto grepping una stringa da più file, ma l'unico effetto collaterale indesiderato è il nome del file che precede l'output. Come posso eliminare gli output del nome file 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. 

Per ora ho risolto il problema utilizzando cat lpNet * | grep lp Mi chiedo solo se esiste un percorso più efficiente per avere lo stesso effetto

Risposte:


31

Il comportamento predefinito è stampare il nome file quando vengono forniti più argomenti file - per sopprimerlo, è possibile aggiungere l' -hopzione o --no-filename

Dalla Output Line Prefix Controlsezione della pagina del manuale di 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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.