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