[Guida] Grep: filtrare il contenuto dei file su Linux

Dopo aver esplorato insieme il contenuto del filesystem /proc, oggi parliamo di grep, uno dei comandi più potenti utilizzabili tramite terminale. Presente su tutti i sistemi Linux, ci permette di effettuare ricerche all’interno di file, applicando opportuni filtri. Faremo anche un piccolo accenno alle regex, che verranno trattate più approfonditamente in un’altra guida.

Grep ovvero general regular expression print

Oggi facciamo un nuovo piccolo passo in avanti nel mondo dell’amministrazione dei sistemi GNU/Linux, introducendo grep. Questo comando effettua una ricerca globale su un file tramite un sistema di filtri e ci mostra le corrispondenze. Lanciando da terminale il comando grep -h ci viene indicata la sintassi base di questo comando, ovvero grep [OPZIONE]… MODELLO [FILE]… Usarlo è quindi semplicissimo, ma cerchiamo di fare maggiore chiarezza attraverso un esempio. Utilizzerò il file auth.log, che possiamo trovare nel percorso /var/log/auth.log, poiché si presta benissimo all’occasione.

grep "invalid" /var/log/auth.log

grep sysadmin regex
Tramite questo comando, abbiamo detto al sistema di filtrare il file con la parola “invalid”. Come si nota, grep ci restituisce una stampa di tutte le corrispondenze che trova. Sono disponibili anche numerose opzioni, tra le principali ricordiamo:
• – i ignora le differenze tra le lettere maiuscole e minuscole;
• – m stampa le prime N corrispondenze;
• – r esegue la stampa in maniera ricorsiva anche nelle sottodirectory;
• – E permette di effettuare le ricerche tramite delle regex estese;
• – F permette di usare come modelli delle stringhe, da ricercare in maniera letterale. In questo caso risulta più immediato utilizzare direttamente il comando fgrep, come riportato nello screenshot.

grep sysadmin fgrep regex

Grep e le regex

Uno dei modi più efficaci di utilizzare Grep consiste nell’aumentare la complessità delle espressioni regolari utilizzate. Le regex sono un insieme di caratteri e operatori la cui combinazione inserita in grep permette di aumentare la complessità delle ricerche. Facciamo ora un esempio banale, rimandando al manuale (man 7 regex) per una spiegazione più dettagliata. Iniziamo con il generare un file di esempio e stampiamolo a video:

base64 /dev/urandom | head -c 1000 > file.txt
cat file.txt

grep sysadmin regex linux
Come si nota abbiamo una serie di lettere e numeri, possiamo usare una regex insieme a Grep per visualizzare, ad esempio, solo le combinazioni dei numeri compresi nell’intervallo chiuso [0,9], composte da 2 cifre: grep -E ‘[0-9]{2}’ file.txt. In questo caso la regex utilizzata è ‘[0-9]{5}’ che risulta essere anche abbastanza intuitiva!

sharing-caring-1

Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.

Fonte: https://www.lffl.org/2020/03/grep-filtrare-i-file.html

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.