10 esempi pratici del comando Grep di Linux

10 esempi pratici del comando Grep di Linux

Il comando grep fornisce l'accesso all'utilità grep, un potente strumento di elaborazione dei file utilizzato per trovare modelli nei file di testo. Ha molti casi d'uso pratici ed è sicuramente uno dei comandi Linux più utilizzati. Questa guida illustra alcuni comandi grep di Linux semplici ma utili che hanno usi nel mondo reale.





File di esempio per la dimostrazione

Abbiamo creato un file di riferimento per aiutare i lettori a comprendere grep in modo più efficace. Puoi creare una copia di questo file emettendo il seguente comando shell nel tuo terminale.





come usare Adobe Media Encoder
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Trova testo nei file

Per cercare un modello di testo in un file, esegui semplicemente grep seguito dal nome del modello. Specificare inoltre il nome del file che contiene il testo.





grep 'email' test-file

Questo comando visualizzerà la riga nel nostro file-test che contiene la parola e-mail . Puoi anche cercare lo stesso testo in più file usando grep.

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

Il comando sopra mostra tutte le istanze della parola esempio nel inglese americano e inglese britannico file del dizionario.



2. Trova le parole esatte della corrispondenza

Il comando Linux grep illustrato nell'esempio precedente elenca anche le righe con corrispondenze parziali. Usa il comando indicato di seguito se hai bisogno solo delle occorrenze esatte di una parola.

grep -w 'string' test-file

Il -in o --word-regexp l'opzione di grep limita l'output solo alle corrispondenze esatte. Grep è costituito da alcuni flag aggiuntivi che possono essere utilizzati anche con il comando predefinito.





Correlati: come Grep ha preso il nome? La storia dietro la creazione di Grep

3. Ignora le distinzioni di caso

Per impostazione predefinita, grep cerca i modelli in modo sensibile alle maiuscole. Tuttavia, potresti voler disattivare questa opzione se non sai in quale caso il modello è in anticipo.





grep -i 'this' test-file

Utilizzare il -io o --ignora-caso opzione per disattivare la distinzione tra maiuscole e minuscole.

4. Conta il numero di modelli

Il -C bandiera sta per contare . Visualizza il numero di corrispondenze trovate per un particolare modello. Gli amministratori possono utilizzarlo per recuperare informazioni specifiche sul sistema.

Puoi pipe il comando ps con grep per contare i processi che appartengono all'utente corrente.

ps -ef | grep -c $USER

Il comando seguente visualizza il numero di MP3 file presenti in una directory.

ls ~/Music | grep -c .mp3

5. Visualizza i numeri di riga contenenti corrispondenze

Potresti voler trovare i numeri di riga che contengono una determinata corrispondenza. Utilizzare il -n o --numero-riga opzione di grep per raggiungere questo obiettivo.

cat /etc/passwd | grep -n rubaiat

Questa opzione è particolarmente utile per il debug dei codici sorgente e per la risoluzione dei problemi dei file di registro. Per visualizzare tutti i numeri per le righe nel ~/.vimrc che sono usati per configurare l'editor di testo Vim:

grep -n 'set' ~/.vimrc

6. Trova i nomi dei file usando le estensioni

Per avere un elenco di tutti i MP3 file presenti nel ~/Musica elenco:

ls ~/Music/ | grep '.mp3'

Puoi sostituire .mp3 con qualsiasi altra estensione per individuare file specifici. Il comando seguente elenca tutti i php file presenti nella directory di lavoro corrente.

Amazon Fire Stick non funzionerà
ls | grep '.php'

7. Trova modelli nei file compressi

Il comando Linux grep può anche trovare modelli all'interno di file compressi. Dovrai usare il zgrep comando per farlo, tuttavia. Per prima cosa, crea un archivio compresso del nostro file-test digitando:

gzip test-file

Ora puoi cercare testo o altri modelli all'interno dell'archivio risultante.

zgrep email test-file.gz

8. Trova indirizzi email

Gli amministratori possono anche elencare gli indirizzi e-mail dai file di testo utilizzando il comando Linux grep. L'esempio seguente esegue questa operazione cercando un modello di espressione regolare.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

Puoi trovare espressioni regolari per svolgere lavori simili o puoi crearle tu stesso se sai come funzionano.

9. Trova i numeri di telefono usando Grep

Puoi utilizzare le espressioni regolari grep per filtrare i numeri di telefono da un file di testo. Nota che dovresti modificare il modello in modo che corrisponda al tipo di numeri di telefono di cui hai bisogno.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

Il suddetto comando filtra i numeri di telefono americani a dieci cifre.

10. Trova gli URL dai file di origine

Possiamo sfruttare la potenza di grep per elencare gli URL trovati nei file di testo. Il comando indicato di seguito stampa tutti gli URL presenti nel file-test .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Stiamo di nuovo usando il -E opzione per le espressioni regolari estese. Puoi anche usare il egrep comando per evitare di aggiungerlo.

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Padroneggiare il comando Grep di Linux

Abbiamo presentato diversi esempi utili del comando grep di Linux per affrontare i problemi del mondo reale. Sebbene questi esempi illustrino la potenza di grep per l'elaborazione del testo, dovrai padroneggiare le espressioni regolari se vuoi essere super produttivo con grep.

A volte gli utenti Linux si imbattono in determinate situazioni in cui non riescono a ricordare le varie opzioni relative a un comando. Si spera che il sistema operativo Linux fornisca modi per ottenere l'aiuto della riga di comando per quasi tutte le utility di sistema.

Condividere Condividere Tweet E-mail 7 modi per ottenere assistenza dalla riga di comando su Linux

Tutti i comandi essenziali per conoscere i comandi di Linux dalla riga di comando

Leggi Avanti
Argomenti correlati
  • Linux
  • Linux
  • Comandi Linux
Circa l'autore Rubaiat Hossain(39 articoli pubblicati)

Rubaiat è un laureato in CS con una forte passione per l'open-source. Oltre ad essere un veterano di Unix, si occupa anche di sicurezza di rete, crittografia e programmazione funzionale. È un appassionato collezionista di libri di seconda mano e ha un'ammirazione infinita per il rock classico.

Altro da Rubaiat Hossain

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

come collegare il controller xbox al pc
Clicca qui per iscriverti