Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Domanda >> PC Risoluzione dei problemi >> .

31 Esempi utili di comandi grep in Linux/Unix (come utilizzare il comando)

Ecco 31 utili esempi di comandi grep in Linux/Unix insieme alle relative spiegazioni e scenari di utilizzo:

1. Cerca un testo specifico in un file:

```

grep nome file "testo di ricerca".

```

Spiegazione :Stampa le righe che corrispondono al "testo di ricerca" dal nome file specificato.

Esempio :

```

grep "errore" /var/log/system.log

```

Questo comando cerca tutte le righe contenenti "errore" nel file di registro del sistema.

2. Cerca ricorsivamente un testo specifico in una directory:

```

grep -r "testo-cerca" nome-directory

```

Spiegazione :Esegue una ricerca ricorsiva per "testo-ricerca" all'interno della directory specificata e di tutte le sue sottodirectory.

Esempio :

```

grep -r "configurazione" /etc/

```

Questo comando cerca ricorsivamente tutti i file contenenti la parola "configurazione" nella directory "/etc/".

3. Cerca le righe che corrispondono a un'espressione regolare:

```

grep -E nome file "modello regex".

```

Spiegazione :utilizza le espressioni regolari per cercare le righe che corrispondono al modello specificato.

Esempio :

```

grep -E "^[0-9]{4}-[0-1]{1}[0-9]{1}-[0-3]{1}[0-9]{1} .*" access.log

```

Questo comando utilizza un'espressione regolare per trovare tutte le righe nel file "access.log" che iniziano con un formato data (AAAA-MM-GG seguito da un'ora).

4. Conta il numero di righe corrispondenti:

```

grep -c nome file "testo di ricerca".

```

Spiegazione :Fornisce un conteggio delle righe che corrispondono al "testo di ricerca" nel nome file specificato.

Esempio :

```

grep -c "fallito" /var/log/auth.log

```

Questo comando conta quante volte la parola "failed" appare nel file "/var/log/auth.log".

5. Stampa le righe corrispondenti con i numeri di riga:

```

grep -n nome file "testo di ricerca".

```

Spiegazione :Visualizza le righe corrispondenti insieme ai relativi numeri di riga nel nome file specificato.

Esempio :

```

grep -n "avviso" /var/log/messages

```

Questo comando mostra i numeri di riga di tutte le righe contenenti la parola "avviso" nel file "/var/log/messages".

6. Ignora la distinzione tra maiuscole e minuscole nella ricerca:

```

grep -i nome file "testo di ricerca".

```

Spiegazione :esegue una ricerca senza distinzione tra maiuscole e minuscole per "testo-ricerca" nel nome file specificato.

Esempio :

```

grep -i "Errore" /var/log/system.log

```

Questo comando cerca le occorrenze sia maiuscole che minuscole della parola "Errore" nel file di registro del sistema.

7. Escludi righe che corrispondono a un testo specifico:

```

grep -v nome file "escludi-testo".

```

Spiegazione :stampa solo le righe che non corrispondono al "testo-escluso" nel nome file specificato.

Esempio :

```

grep -v "INFO" /var/log/messages | grep "ERRORE"

```

Questo comando esclude innanzitutto le righe contenenti "INFO" dal file "/var/log/messages", quindi cerca le righe contenenti "ERROR" nell'output rimanente.

8. Cerca un modello e stampa il contesto precedente:

```

grep -B "num" "testo di ricerca" nome file

```

Spiegazione :Stampa "num" righe prima del "testo di ricerca" corrispondente nel nome file specificato.

Esempio :

```

grep -B 3 "messaggio_errore" /var/log/syslog

```

Questo comando mostra le 3 righe prima di ciascuna riga contenente "error_message" nel file di registro del sistema.

9. Cerca uno schema e stampa il seguente contesto:

```

grep -A nome file "num" "testo di ricerca".

```

Spiegazione :Stampa "num" righe dopo il "testo di ricerca" corrispondente nel nome file specificato.

Esempio :

```

grep -A 5 "successful_login" /var/log/auth.log

```

Questo comando stampa 5 righe dopo ogni riga contenente "successful_login" nel file di registro di autenticazione.

10. Stampa le righe corrispondenti con i nomi dei file:

```

grep -H "testo di ricerca" *

```

Spiegazione :Visualizza le righe corrispondenti insieme ai nomi dei file che le contengono durante la ricerca di più file.

Esempio :

```

grep -H "avviso" /var/log/*.log

```

Questo comando cerca la parola "avviso" in tutti i file di registro situati nella directory "/var/log/" e stampa le righe corrispondenti insieme ai nomi dei file.

11. Stampa solo la parte corrispondente delle righe:

```

grep -o nome file "modello corrispondente".

```

Spiegazione :stampa solo la parte delle righe che corrisponde al "modello di corrispondenza" specificato nel nome file specificato.

Esempio :

```

grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9 ]\{1,3\}" access.log

```

Questo comando estrae e stampa solo gli indirizzi IP dalle righe del file "access.log".

12. Utilizza l'operatore OR per cercare più modelli:

```

grep -E nome file "modello1|modello2".

```

Spiegazione :Cerca le righe che corrispondono a "pattern1" o "pattern2" nel nome file specificato.

Esempio :

```

grep -E "fallito|riuscito" /var/log/auth.log

```

Questo comando cerca le righe contenenti la parola "non riuscito" o la parola "riuscito" nel file di registro di autenticazione.

13. Esci dopo la prima partita:

```

grep -m 1 nome file "cerca-testo".

```

Spiegazione :Interrompe la ricerca e stampa solo la prima riga corrispondente nel nome file specificato.

Esempio :

```

grep -m 1 "errore critico" /var/log/messages

```

Questo comando stampa solo la prima riga che contiene il testo "errore critico" nel file "/var/log/messages".

14. Stampa il numero di riga della prima riga corrispondente:

```

grep -b nome file "testo di ricerca".

```

Spiegazione :Visualizza l'offset in byte della prima riga corrispondente all'interno del nome file specificato.

Esempio :

```

grep -b "server di avvio" /var/log/syslog

```

Questo comando stampa la posizione del byte nel file in cui si trova la riga "starting server".

15. Cerca all'interno di file compressi (.gz):

```

zgrep "testo di ricerca" *.gz

```

Spiegazione :consente la ricerca all'interno di file ".gz" compressi senza la necessità di decomprimerli prima.

Esempio :

```

zgrep "messaggio_errore" /var/log/*.gz

```

Questo comando cerca "error_message" in tutti i file ".gz" situati nella directory "/var/log/" senza decomprimerli.

16. Stampa il nome del file corrispondente se c'è una corrispondenza:

```

grep -l "cerca testo" *

```

Spiegazione :Elenca i nomi dei file che contengono il "testo di ricerca" senza stampare le righe corrispondenti effettive.

Esempio :

```

grep -l "errore critico" /var/log/*.log

```

Questo comando elenca tutti i file di registro nella directory "/var/log/" che contengono il testo "errore critico".

17. Invertire il comportamento di corrispondenza:

```

grep -v nome file "testo di ricerca".

```

Spiegazione :stampa solo le righe che non corrispondono al "testo di ricerca" nel nome file specificato.

Esempio :

```

grep -v "200 OK" access.log

```

Questo comando stampa tutte le righe tranne quelle contenenti "200 OK" nel file "access.log".

18. Stampa solo le righe che contengono univocamente un testo specifico:

```

grep --only-matching nome file "testo di ricerca".

```

Spiegazione :Visualizza solo le righe che corrispondono esclusivamente al "testo di ricerca" ed esclude eventuali righe che corrispondono anche ad altri modelli nel testo.

Esempio :

```

grep --only-matching "connessione riuscita" /var/log/messages

```

Questo comando stampa solo le righe che contengono esattamente "connessione riuscita" e non altre varianti come "connessione al database riuscita".

19. Colora il testo corrispondente:

```

grep --color nome file "testo di ricerca".

```

Spiegazione :evidenzia il testo corrispondente in diversi colori per migliorare la leggibilità.

Esempio :

```

grep --color "errore" /var/log/syslog

```

Questo comando stampa le righe contenenti "errore" nel file di registro del sistema con il testo corrispondente evidenziato a colori.

20. Mostra le statistiche per le linee corrispondenti:

```

grep -c "testo di ricerca" nome file | wc -l

```

Spiegazione :Fornisce il conteggio delle righe corrispondenti utilizzando grep e quindi utilizza il comando "wc -l" per visualizzare il conteggio.

Esempio :

```

grep -c "avviso" /var/log/messages | wc -l

```

Questo comando conta prima le righe con "avviso" utilizzando grep e quindi visualizza il conteggio.

21. Filtra i file binari durante la ricerca:

```

grep

 

Domanda © www.354353.com