GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare testo specifico usando GREP su Linux

Come trovare un testo specifico usando grep su Linux. grep è una forma abbreviata per Global Regular Expression Print. È uno degli strumenti più utili in Linux per cercare una stringa specifica su file ricorsivamente o su un singolo file.

In questa guida imparerai come usare il grep comando per vari casi d'uso sulla tua macchina Linux.

Casi d'uso

  1. Ricerca normale su un file.
  2. Ricerca ricorsiva nelle directory.
  3. File esclusi.
  4. Compresi i file.
  5. Ricerca di espressioni regolari.
  6. Utilizzare grep con altri comandi per filtrare l'output.

Sintassi del comando grep

grep [OPTIONS] STRING [FILE(S)]

OPZIONI sono facoltativi e includono vari metodi per eseguire la ricerca.

STRINGA è richiesto che utilizza la stringa particolare da cercare.

FILE(I) Puoi aggiungere file o directory per eseguire la ricerca o solo il . per cercare nella directory corrente.

Per impostazione predefinita, grep fa distinzione tra maiuscole e minuscole. Se vuoi ignorare il caso puoi usare il -i opzione che ignora la distinzione tra maiuscole e minuscole e restituisce il contenuto con lettere minuscole e maiuscole.

Questo è l'uso più basilare del comando grep. Basta usare il comando con la stringa che devi cercare e il nome del file.

grep string filename

Questo comando cercherà il testo specificato all'interno del file fornito e produrrà i risultati.

Per cercare tra tutti i file che si trovano all'interno della directory è necessario utilizzare il -r opzione per eseguire una ricerca ricorsiva all'interno della cartella specificata.

Il -r opzione non seguire i collegamenti simbolici. Se desideri effettuare una ricerca su link simbolici, devi utilizzare il maiuscolo -R opzione invece di piccolo -r opzione.

grep -r string folder-name

#Include Symbolic link files
grep -R string folder-name

Escludi file durante l'utilizzo di grep

Puoi usare il --exclude opzione per escludere directory, file specifici o file con estensioni specifiche.

grep -r string --exclude=filename --exclude=*.png --exclude=folder/* folder-name

Includi file durante l'utilizzo di grep

Puoi usare il --include opzione per includere solo le directory specifiche, file specifici o file con estensioni specifiche.

grep -r string --include=filename --include=*.php --include=folder/* folder-name

Usa il ^ simbolo (caret) per abbinare l'espressione all'inizio di una riga. Nell'esempio seguente, il testo string corrisponderà solo se si verifica all'inizio di una riga.

grep "^string" filename

Usa il $ simbolo (dollaro) per abbinare l'espressione alla fine di una riga. Nell'esempio seguente, il testo string corrisponderà solo se si trova alla fine di una riga.

grep "string$" filename

Usa il . simbolo (punto) per abbinare qualsiasi singolo carattere. Ad esempio, per abbinare tutto ciò che inizia con string1 quindi ha due caratteri e termina con il testo string2 , potresti usare il seguente schema.

grep "string1..string2" filename

Usa [ ] (parentesi) per far corrispondere ogni singolo carattere racchiuso tra parentesi. Ad esempio, trova le righe che contengono boat o “coat , potresti usare il seguente schema.

grep "[bc]oat" filename

Per sfuggire al significato speciale del carattere successivo, usa il \ simbolo (barra rovesciata).

Usa grep con altri comandi

Puoi anche usare grep per filtrare l'output fornito usando un altro comando.

ps -ef | grep mysql | grep -v grep

Questo filtrerà l'output per mostrare solo quelli che sono con mysql .

Conclusione

Ora hai imparato come eseguire una ricerca usando il comando grep con vari metodi sulla tua macchina Linux.

Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.


Linux
  1. Linux:come grep per una parola specifica e afferrare il testo?

  2. Linux:come trovare processi utilizzando la porta seriale?

  3. Comando Linux:come "trovare" solo file di testo?

  4. Come cercare i file usando regex nello script della shell linux

  5. Come trovare file di testo che non contengono testo su Linux?

Come trovare file in Linux

Come usare il comando grep in Linux/UNIX

Grep Command in Linux (Trova testo nei file)

Come trovare una stringa in un file su Linux

Come trovare file contenenti una stringa di testo specifica in Linux

Trova testo nei file su Linux usando grep