Di Rubaiat Hossain
E-mail

Il comando grep viene utilizzato per cercare stringhe in un file di testo. Ecco dieci esempi di grep che potresti trovare utili.

Il comando grep fornisce l'accesso all'utilità grep, un potente strumento di elaborazione dei file utilizzato per trovare i 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 immettendo il seguente comando di shell nel tuo terminale.

gatto <> file di prova
Questo è un semplice file di testo che contiene
più stringhe e alcuni numeri di telefono
(555) 555-1234 (567) 666-2345
e e-mail e indirizzi web
[email protected]
https://google.com
ftp://mywebserver.com
FINE

1. Trova testo nei file

instagram viewer

Per cercare un pattern di testo in un file, eseguire semplicemente grep seguito dal nome del pattern. Inoltre, specifica il nome del file che contiene il testo.

file di prova grep "email"

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

grep "esempio" / usr / share / dict / american-english / usr / share / dict / british-english

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

2. Trova parole con corrispondenza esatta

Il comando grep di Linux 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 "stringa" file di test

Il -w 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.

Relazionato: Come ha preso il nome Grep? La storia dietro la creazione di Grep

3. Ignora le distinzioni tra maiuscole e minuscole

Per impostazione predefinita, grep cerca i modelli in modo sensibile al maiuscolo / minuscolo. Tuttavia, potresti voler disattivare questa opzione se non sai in quale caso si trova lo schema in anticipo.

grep -i "questo" file di prova

Utilizzare il -io o --ignore-case opzione per disattivare la distinzione tra maiuscole e minuscole.

4. Contare il numero di modelli

Il -c flag sta per contare. Visualizza il numero di corrispondenze trovate per un particolare pattern. 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 file MP3 file presenti in una directory.

ls ~ / Music | grep -c .mp3

5. Visualizza numeri di riga contenenti corrispondenze

Potresti voler trovare i numeri di riga che contengono una certa corrispondenza. Utilizzare il -n o --numero di riga opzione di grep per ottenere ciò.

cat / etc / passwd | grep -n rubaiat

Questa opzione è particolarmente utile per debug dei codici sorgente e risoluzione dei problemi dei file di registro. Per visualizzare tutti i numeri per le righe nel file ~ / .vimrc che vengono utilizzati per configurazione dell'editor di testo Vim:

grep -n "set" ~ / .vimrc

6. Trova nomi di file utilizzando le estensioni

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

ls ~ / Music / | grep ".mp3"

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

ls | grep ".php"

7. Trova modelli nei file compressi

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

file di prova gzip

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 da file di testo utilizzando il comando grep di Linux. L'esempio seguente esegue questa operazione cercando un modello di espressione regolare.

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

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

9. Trova i numeri di telefono utilizzando Grep

Puoi usare le espressioni regolari grep per filtrare i numeri di telefono da un file di testo. Tieni presente 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 \} 'file di prova

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

10. Trova 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 file di prova.

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

Stiamo ancora usando il -E opzione per espressioni regolari estese. Puoi anche usare il file 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 la guida della riga di comando per quasi tutte le utilità di sistema.

E-mail
7 modi per ottenere la guida della riga di comando su Linux

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

Leggi Avanti

Argomenti correlati
  • Linux
  • Linux
  • Comandi Linux
Circa l'autore
Rubaiat Hossain (15 articoli pubblicati)

Rubaiat è un laureato in informatica con una forte passione per l'open source. Oltre ad essere un veterano di Unix, è anche appassionato 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 di Rubaiat Hossain

Iscriviti alla nostra Newsletter

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

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.