Il comando grep: uno strumento fondamentale per il sysadmin

Ecco un po di esempi su come usare grep in maniera un po più avanzata…

(sorgente in inglese tradotta e integrata: 10 examples of grep command in UNIX and Linux)

1) Escludere parole non rilevanti: opzione -v
grep Exception logfile.txt | grep -v ERROR
Trova tutte le righe che contengono “Exception” ed esclude quelle che contengono “ERROR
2) Contare una parola/e in un file: opzione -c
grep -c “Error” logfile.txt

Conta le parole “Error” nel file logfile.txt

3) Contesto della parola: opzione –context= oppure -C
grep –context=6 successful logfile.txt
Mostra le 6 righe prima e le sei righe dopo la parola successful all’interno del file logfile.txt
grep -C 2 ‘hello’ *
Mostra 2 righe prima e 2 righe dopo ogni riga che contiene la parola hello in tutti i file della dir corrente
4) egrep sta per extended grep ed è più potente e permette l’uso di espressioni regolari come “|” (pipe) che permette di cercare alternativamente varie parole
egrep ‘Error|Exception’ logfile.txt
trova le righe del file logfile.txt
trova le righe del file che contengono o la parola Error o la parola Exception
5) Ricerca insensibile a maiuscolo e minuscolo: opzione -i
grep -i Error logfile
nei sistemi unix e simili “Error” è diverso da “eRror” ed è diverso da tutte le trasposizioni di maiuscole e minuscole: la ricerca con l’opzione -i equipara tutti i caratteri.
6) zgrep (installato dal pacchetto gzip) esegue le ricerche nei file compressi di tipo .gz
zgrep -i Error *.gz
Cerca la parola “Error” all’interno di tuti i files .gz
7) Ricerca di una parola intera a non di una parte: opzione -w
grep -w ERROR logfile
Viene ricercata la parola “ERROR” escludendo le parole che contengono “ERROR” (esempio: “SysERROR” non viene trovata).
Per trovare le parole che iniziano o finiscono con la parola in esame si usano i caratte di minore (<) o maggiore (>).
grep ‘ERROR>’ *
Ricarca le parole che finiscono in “ERROR” ad esempio anche “sysERROR
8) Ricerca dei file che contengono una parola: opzione -l
grep -l ERROR *.log
cerca quali dei files .log contengono la parola “ERROR” e li elenca
9) Ricerca del numero di riga dell’occorrenza della stringa: opzione -n
grep -n ERROR test.log
Ricerca la parola “ERROR” nel file test.log e mostra anche il numero di riga dove è stata trovata la parola cercata.
10) Ricerca ricorsiva all’interno delle directory: opzioni -R, -r, –recursive

grep -r ERROR ./*

Ricerca la parola “ERROR” all’interno dell’alberatura di directory corrente.
11) Ricerca a colori: opzione –color (attiva di default su alcuni sistemi)
grep Exception  today.log –color
Mostra il risultato della ricerca evidenziando con i colori le parti opportune

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.