GNU/Linux >> Linux Esercitazione >  >> Linux

Come mostrare il risultato grep con percorso completo o nome file

Supponendo che tu abbia due file di log in:

  • C:/temp/mio.log
  • C:/temp/alsoMy.log

cd in C:e usa:

grep -r somethingtosearch temp/*.log

Ti darà un elenco come:

temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2

Cado qui quando stavo cercando esattamente lo stesso problema e forse può aiutare altri.

Penso che la vera soluzione sia:

cat *.log | grep -H somethingtosearch

Se vuoi vedere i percorsi completi, ti consiglio di cd nella directory principale (del tuo disco se usi Windows)

cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp

O su Linux:

cd /
grep -r somethingtosearch ~/temp

se resisti davvero al filtraggio del nome del tuo file (*.log) E vuoi recursive (i file non sono tutti nella stessa directory), combinando find e grep è il modo più flessibile:

cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;

Linux
  1. Come mostrare il percorso completo di un file o di una directory nel terminale?

  2. Come modificare il percorso del file di registro auditd /var/log/audit/audit.log

  3. Come ottenere solo il nome del file con Linux "trova"?

  4. Come eseguire il "grep" di un flusso continuo?

  5. Come grep \n nel file

Come trovare una stringa in un file su Linux

Come creare un file in Linux dalla finestra del terminale?

Come riempire un file con FF usando dd?

Come ottenere un file con il nome corretto quando viene reindirizzato?

Come eliminare un file con un nome strano?

Come eseguire il grep dell'output di ps con le intestazioni