Rubrica “Il terminale” – comando “grep”

gnome-terminal
Grep è un comando che serve per cercare parole chiave all’interno di un file o nell’output di un comando.
Per quanto riguarda la prima funzione direi che, a meno di particolari casi, è meglio usare un’altra strada ovvero Risorse > Cerca file… poiché è più facile da configurare e da usare nelle sue mille opzioni. Se invece dovete dare un comando da terminale che riporta un output troppo lungo, che non vi interessa leggere tutto, oppure sempre all’interno dell’output volete verificare la presenza di una determinata parola chiave, ecco allora che grep fa proprio per voi!

Generalmente, proprio per quello che fa, lo si usa combinato con altri comandi da cui va separato mediante uno spazio, il simbolo “|” e un altro spazio, ma vediamo alcuni esempi che rendono più di mille spiegazioni.
Date:

cat /proc/cpuinfo

e subito dopo questo:

cat /proc/cpuinfo | grep “model name”

Notate qualche differenza?
Il secondo comando ha prodotto un ouput estremamente più ridotto rispetto al primo poiché, all’interno dell’output prodotto dal comando cat /proc/cpuinfo, ha ricercato solo la stringa model name (le virgolette sono d’obbligo in caso di ricerca di termini con spazi). Ha filtrato tutte le informazioni che non ci interessavano permettendoci di leggere così solo la riga che ci interessava ovvero quella relativa al modello del processore.

Un altro esempio,

lspci
lspci | grep -i vga

ancora una volta nel secondo caso visualizzeremo molte meno righe, trovando così subito a colpo d’occhio l’eventuale informazione che stavamo cercando. Tipicamente verrà visualizzata la riga contenente la parola chiave da voi indicata.
Alla luce di questi due esempi penso che tutti avrete capito la potenza di questo comando; se sapete cosa state cercando e dove cercarlo potete usare il filtro grep. E’ come cercare un ago in un pagliaio, togliendoci dalle scatole il tanto odioso pagliaio!

Spiegazione principali opzioni utili

e
permette la ricerca di più parole chiave contemporaneamente. Per un uso corretto vedi esempio in fondo;
i
renende la parola chiave non case sensitive; VGA sarà uguale a vga (di default non è così);
v
usa il filtro al contrario, nasconde tutte le righe che contengono la parola chiave cercata (provate a usare questo comando senza il grep e le opzioni che lo seguono).

Per cercare più parole chiave dando il comando una sola volta, questa è la sintassi corretta:

cat /proc/cpuinfo | grep -e “model name” -e vendor

Grep è questo e altro ancora, ma per un uso non eccessivamente avanzato e complesso è tutto.

Allons-y!

Pubblicato su Guide. Tag: , . 4 Comments »

4 Risposte to “Rubrica “Il terminale” – comando “grep””

  1. dado Says:

    Stavo cercando già da 10 minuti una guida del genere ma senza successo, questa è proprio ciò che cercavo. Illustra i comandi che mi servivano, e che mi serviranno😉, in modo chiaro, con esempi altrettanto chiari e ben descritti. Così il fruitore impara e ricorda. In futuro sicuramente cercherò di imparare anche le varie opzioni ma è importante andare per gradi, questo secondo me è un ottimo modo per cominciare, capendo davvero che comando stai dando per fare ciò di cui hai bisogno. Grazie ancora per la chiarezza e l’efficacia della guida.
    Saluti

    • Sanzo Says:

      Grazie a te dei complimenti. L’obiettivo con cui nacque questa rubirca era esattamente quello da te esposto e il metodo migliore per imparare è proprio quello di procedere per gradi. Prima le basi, consolidate quelle si leggono manuali più avanzati arrivando a diventare padroni del comando.

  2. Sanzo Says:

    Lo scopo della rubrica, spiegare a chi non conosce certi comandi il loro uso partendo dalle basi!

  3. MasterPJ Says:

    Finalmente spiegato perché nelle guide in rete tutto chiedono ed usano questo grep! Chiaro e conciso. Bella chicco!


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: