GNU/Linux >> Linux Esercitazione >  >> Linux

Uso del comando grep in Linux

Cos'è grep?

L'utilità grep di cui ci occuperemo oggi è uno strumento Unix che appartiene alla stessa famiglia delle utilità egrep e fgrep. Questi sono tutti strumenti Unix progettati per eseguire attività di ricerca ripetitive su file e testo. Puoi cercare file e il loro contenuto per recuperare informazioni utili specificando criteri di ricerca particolari tramite il comando grep.

Quindi dicono che GREP sta per Global Regular Expression Print, ma da dove ha origine questo comando "grep"? grep deriva sostanzialmente da un comando specifico per il semplicissimo e venerabile editor di testo Unix chiamato ed. Ecco come va il comando ed:

g/re/p

Lo scopo del comando è abbastanza simile a quello che intendiamo per ricerca tramite grep. Questo comando recupera tutte le righe in un file che corrispondono a un determinato modello di testo.

Esploriamo ancora un po' il comando grep. In questo articolo spiegheremo l'installazione dell'utility grep e presenteremo alcuni esempi attraverso i quali puoi imparare esattamente come e in quale scenario puoi usarlo.

Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Ubuntu 18.04 LTS.

Installa grep

Sebbene l'utilità grep venga fornita di default con la maggior parte dei sistemi Linux, se non l'hai installata sul tuo sistema, ecco la procedura:

Apri il tuo terminale Ubuntu tramite il Dash o la scorciatoia Ctrl+Alt+T. Quindi inserisci il seguente comando come root per installare grep tramite apt-get:

$ sudo apt-get install grep

Immettere y quando viene richiesto con un'opzione y/n durante la procedura di installazione. Successivamente, l'utilità grep verrà installata sul tuo sistema.

Puoi verificare l'installazione controllando la versione di grep tramite il seguente comando:

$ grep --version

Uso del comando grep con esempi

Il comando grep può essere spiegato al meglio presentando alcuni scenari in cui può essere utilizzato. Ecco alcuni esempi:

Cerca file

Se desideri cercare un nome file che contenga una parola chiave specifica, puoi filtrare l'elenco dei file tramite il comando grep come segue:

Sintassi:

$ ls -l | grep -i “ parola di ricerca

Esempi:

$ ls -l | grep -i sample

Questo comando elencherà tutti i file nella directory corrente con il nome del file contenente la parola “privato”.

Cerca una stringa in un file

Puoi recuperare una frase da un file che contiene una specifica stringa di testo tramite il comando grep.

Sintassi:

nome file "stringa" grep

Esempio:

$ grep “sample file” sampleFile.txt

Il mio file di esempio sampleFile.txt contiene la frase con la stringa "file di esempio" che puoi vedere nell'output sopra. La parola chiave e la stringa vengono visualizzate in forma colorata nei risultati della ricerca.

Cerca una stringa in più di un file

Nel caso in cui desideri cercare frasi contenenti la tua stringa di testo da tutti i file dello stesso tipo, il comando grep è al tuo servizio.

Sintassi 1:

$ grep "string" filenameKeyword*

Sintassi 2:

$ grep "stringa" *.extension

Esempio1:

$ grep "sample file” sample*

Questo comando preleverà tutte le frasi contenenti la stringa “file di esempio” da tutti i file con il nome del file contenente la parola chiave “campione”.

Esempio 2:

$ grep "sample file” *.txt

Questo comando preleverà tutte le frasi contenenti la stringa “file di esempio” da tutti i file con estensione .txt.

Cerca una stringa in un file senza tener conto del caso della stringa

Negli esempi precedenti, la mia stringa di testo era fortunatamente nello stesso caso di quella trovata nei miei file di testo di esempio. Se avessi inserito il comando seguente, il risultato della mia ricerca sarebbe nullo perché il testo nel mio file non inizia con una parola maiuscola "Campione"

$ grep "Sample file" *.txt

Diciamo a grep di ignorare il caso della stringa di ricerca e di stampare i risultati della ricerca in base alla stringa tramite l'opzione -i.

Sintassi:

$ grep -i nomefile "stringa"

Esempio:

$ grep -i "Sample file" *.txt

Questo comando preleverà tutte le frasi contenenti la stringa “file di esempio” da tutti i file con estensione .txt. Questo non terrà conto se la stringa di ricerca era in maiuscolo o minuscolo.

Cerca sulla base di un'espressione regolare

Tramite il comando grep è possibile specificare un'espressione regolare con una parola chiave inizio e fine. L'output sarà la frase contenente l'intera espressione tra la parola chiave iniziale e finale specificata. Questa funzione è molto potente in quanto non è necessario scrivere un'intera espressione nel comando di ricerca.

Sintassi:

$ grep nome file "startingKeyword.*endingKeyword"

Esempio:

$ grep "starting.*.ending" sampleFile.txt

Questo comando stamperà la frase contenente l'espressione (partendo dalla mia StartingKeyword e terminando con la mia endingKeyword) dal file che ho specificato nel comando grep.

Visualizza un numero specificato di righe dopo/prima della stringa di ricerca

È possibile utilizzare il comando grep per stampare N numero di righe prima/dopo una stringa di ricerca da un file. Il risultato della ricerca include anche la riga di testo contenente la stringa di ricerca.

La sintassi per N numero di righe dopo la stringa di chiave:

$ grep -A nome file "stringa"

Esempio:

$ grep -A 3 -i "samplestring" sampleFile.txt

Ecco come appare il mio file di testo di esempio:

Ed ecco come appare l'output del comando:

Visualizza 3 righe, inclusa quella contenente la stringa cercata, dal file che ho specificato nel comando grep.

La sintassi per N numero di righe prima della stringa di chiave:

$ grep -B nome file "stringa"

Puoi anche cercare N numero di righe "intorno" a una stringa di testo. Ciò significa N numero di righe prima e N dopo la stringa di testo.

La sintassi per il numero N di righe attorno alla stringa di chiave:

$ grep -C nome file "stringa"

Attraverso i semplici esempi descritti in questo articolo, puoi avere un'idea del comando grep. È quindi possibile utilizzarlo per cercare risultati filtrati che possono includere file o contenuti del file. Ciò consente di risparmiare un sacco di tempo sprecato per scorrere tutti i risultati della ricerca prima di padroneggiare il comando grep.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando id in Linux

  4. Usa il comando Linux grep

  5. Come utilizzare il comando "schermo" in Linux

Come usare grep in Linux

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux