In qualità di amministratore di sistema su un sistema Linux, potresti dover analizzare un enorme file di registro in Linux. Potrebbe sembrare un compito scrupoloso, specialmente nei casi in cui devi abbinare i modelli. Per fortuna, il comando grep in Linux è un vantaggio per tali situazioni. Se ti stai chiedendo cos’è il comando grep e come funziona, di seguito abbiamo preparato una semplice guida per aiutarti a comprendere questo utile comando di Linux.

Sommario

Cos’è il comando grep in Linux?

Il comando grep è un potente strumento da riga di comando in Linux usato per cercare e filtrare pattern o stringhe specifici in un file, directory, o anche nell’output di altri comandi. Forse ti starai chiedendo quale sia il suo nome insolito; beh, sta per”Global Regular Expression Print”. Fu introdotto per la prima volta da Ken Thompson nel 1973 per il sistema operativo Unix. Con la sua versatilità e facilità d’uso, il comando grep è uno strumento indispensabile nell’arsenale di ogni utente Linux.

In genere, il comando grep è preinstallato sulla maggior parte delle distribuzioni Linux, ma se lo trovi mancante sul tuo sistema, installalo usando i seguenti comandi:

Installa su sistemi basati su Debian:

sudo apt install grep

Installa su sistemi basati su Fedora:

sudo yum install grep

Installa su sistemi basati su Arch:

sudo pacman-S grep

Comando grep: sintassi e opzioni

L’uso del comando grep in Linux è piuttosto semplice, grazie alla sua semplice sintassi insieme alle molteplici opzioni con cui giocare. La sintassi per utilizzare il comando grep è:

grep

Nella sintassi precedente, sostituisci con il modello che desideri search, e per la parte , sostituiscila con il file/directory in cui vuoi cercare. E per la parte, ci sono diverse opzioni con cui puoi lavorare, tra cui:

OptionsDescriptions-EInterpreta come espressioni regolari.-iCerca e ignora le maiuscole/minuscole.-vMostra le righe che non corrispondono a -cConta il numero di righe corrispondenti.–colorMostra i risultati nell’output colorato.

Come usare il comando grep in Linux

L’uso del comando grep è facile e segue una sintassi semplice. Tutto quello che devi fare è fornire il nome del file o la directory che vuoi cercare e il modello che vuoi abbinare. Per il modello, puoi usare le parole esatte o le espressioni regolari. Ti starai chiedendo: cos’è”espressione regolare”qui? Le espressioni regolari sono stringhe speciali che vengono interpretate in modo diverso se utilizzate in aree specifiche. Vengono sostituiti con tutte le possibili combinazioni corrispondenti al modello.

Supponiamo, ad esempio, che tu voglia abbinare gli indirizzi email, puoi usare l’espressione regolare”(.+)\@(.+)\n”. Sembra complicato? Analizziamolo:

(.+) corrisponde a qualsiasi carattere tranne le nuove righe\@ controlla se il simbolo”@”è presente nella frase data.

Ora che sai cosa sono le espressioni regolari e come funziona il comando grep, vediamo ora come utilizzare il comando grep in Linux.

Ricerca di stringhe nei file con il comando grep

Il modo più comune per usare grep è cercare stringhe specifiche in un file. La sintassi di base per cercare con il comando grep nei file è:

grep

Nella parte , devi fornire la stringa esatta vuoi cercare. Ad esempio, se vuoi cercare la stringa”mango”all’interno del file chiamato fruits.txt, usa questo comando:

grep”mango”fruits.txt

Se vuoi per cercare ignorando maiuscole e minuscole, quindi utilizzare il flag-i con il comando grep per l’esempio precedente:

grep-i”mango”fruits.txt

Cerca in più file con grep

Con il comando grep, puoi non solo cercare in un singolo file ma anche in più file. Questa funzione diventa particolarmente utile quando è necessario esaminare più file di grandi dimensioni. La sintassi per cercare stringhe/pattern in più file con il comando grep è:

grep

Ad esempio, se vuoi per cercare la stringa “student”, all’interno dei file “student1.txt” e “student2.txt”, usa questo comando:

grep”John”student1.txt student2.txt

Cerca tutti i file in una directory con grep

Supponiamo che tu debba cercare una stringa e non ricordi il nome del file dove esiste. Puoi ovviamente scrivere tutti i nomi di file presenti nella directory, ma invece puoi usare semplicemente il carattere jolly “*” come mostrato:

grep“pattern_to_search”*

Ad esempio, se vuoi cercare la stringa “apple” in tutti i file presenti nella directory, utilizza questo comando:

grep”apple”*

Se vuoi cercare solo in tipi di file specifici, usa questo sintassi:

grep“pattern_to_search”*.

Ad esempio, se vuoi cercare la parola”mango”solo nei file.txt, usa questo comando:

grep”mango”*.txt

Utilizzo dell’espressione regolare con grep

Il vantaggio principale dell’utilizzo del comando grep rispetto ad altri strumenti/comandi è la capacità di elaborare espressioni regolari per cercare contenuto. Includere semplicemente il flag-e con il comando grep per eseguire la ricerca utilizzando le espressioni regolari:

grep-e

Ad esempio, se si desidera filtrare gli ID e-mail usa questo comando:

grep-e”(.+)\@(.+)”emails.txt

Cerca più parole chiave utilizzando il comando grep

Ormai devi essere a tuo agio nella ricerca per alcuni schemi o parole usando grep. Ma cosa succede se devi cercare più parole/modelli? Bene, grep ti ha coperto anche per quello. Per cercare più parole utilizzando il comando grep, utilizzare questa sintassi:

grep”\|“nome file

Qui, \| specifica grep per stampare il risultato se una delle due query corrisponde. Ad esempio, se vuoi cercare le parole”mela”e”mango”nel file”frutta.txt”, usa questo comando:

grep”mela\|mango”frutta.txt

Conta risultati corrispondenti using grep Command

A volte, potrebbe essere necessario conoscere il numero di risultati corrispondenti. Per questo, puoi usare il flag-c con il comando grep:

grep-c”pattern_to_search”filename

Ad esempio, se hai bisogno di vedere quanti ID email ci sono nel file student1.txt, usa questo comando:

grep-E-c”(.+)@(.+)”student1.txt

Se vuoi vedere il numero di righe che non corrispondono alla query di ricerca , aggiungi semplicemente il flag-v insieme a-c:

grep-v-E-c”(.+)@(.+)”student1.txt

Utilizzo del comando grep con Shell Pipes

Il modo in cui le shell pipe funzionano in Linux è che inviano l’output di un comando a un altro comando come input. La sintassi di base per usare le shell pipe è:

first_command | second_command

Con le shell pipe, filtrare l’output di alcuni comandi con il comando grep diventa molto più semplice, invece di scorrere costantemente e cercare qualcosa. Per filtrare una parola o un modello specifico da un output di comando specifico, è sufficiente sostituire nella sintassi precedente con il comando e aggiungere il secondo comando con la sintassi del comando grep. Ecco come funziona:

first_command | grep

Ad esempio, se vuoi vedere quante volte il comando gcc è stato eseguito in precedenza, puoi usare questo comando:

history | grep gcc

Questo mostrerà solo i risultati contenenti la parola”gcc”, come mostrato nell’immagine qui sotto.

Utilizzo del comando grep in Linux

Il comando grep è uno strumento essenziale per gli utenti che desiderano cercare schemi o parole specifici in vari file, directory o anche in altri output di comandi Linux. Una volta acquisite tutte le opzioni e la sintassi essenziali, il comando grep può aiutarti ad aumentare esponenzialmente la tua produttività. Mentre sei qui, dai un’occhiata alle nuove funzionalità di Ubuntu 23.04.

Domande frequenti sul comando Grep in Linux

Il comando grep fa distinzione tra maiuscole e minuscole durante la ricerca di pattern?

Per impostazione predefinita, grep funziona con distinzione tra maiuscole e minuscole. Ma, se hai bisogno di cercare ignorando maiuscole e minuscole, usa il flag-i.

Come posso cercare nei file compressi?

Zgrep, una versione modificata di grep può essere usata per cercare nei file compressi. La sintassi per cercare nei file compressi usando il comando zgrep è: zgrep”

Lascia un commento

L’anno scorso, MSI ha lanciato il Titan GT77 con l’Intel Core i9-12900HX e l’RTX 3080 Ti Laptop GPU, ed è stato il laptop da gioco più potente sulla faccia del pianeta. È stato il più pesante dei picchiaduro […]

Sono passati alcuni mesi dal lancio della serie iPhone 14 ed è stato dimostrato che è l’anno dei modelli Pro. Ma se hai intenzione di puntare sui frilly Pro, l’importo da sborsare […]

Wondershare ha sviluppato alcuni dei migliori software e strumenti per semplificare la nostra vita e i nostri sforzi creativi negli ultimi anni. In particolare, Wondershare Filmora ha ricevuto numerosi riconoscimenti. Ha ricevuto il premio Video Editing Leader […]

Categories: IT Info