Ricerca testo in tutti i file in Linux

Ricerca testo in tutti i file in Linux

Da una shell Linux per cercare una determinata string utilizzeremo il comando:

grep -rnw '/percorso/inizio/ricerca/' -e 'pattern'
  • -r o -R indica che la ricerca deve essere ricorsiva
  • -n è il numero di riga
  • -w sta per ricercare l’intera parola
  • -l (L minuscola) può essere aggiunto solo per dare il nome del file ai file corrispondenti.
  • -e è il testo da ricercare (pattern).

E’ possibile anche escludere determinate cartelle utilizzando --exclude-dir o files con --exclude, --include

  • Per escludere una o più cartelle:
    grep --exclude-dir={dir1,dir2,*.dst} -rnw '/percorso/inizio/ricerca/' -e 'pattern'
  • Per effettuare la ricerca solo nel file con estensione ad es. .py o .c:
    grep --include=\*.{py,c} -rnw  '/percorso/inizio/ricerca/' -e 'pattern'
  • Escludere la ricerca di tutti i file che terminano con un’estensione .o:
    grep --exclude=\*.o -rnw '/percorso/inizio/ricerca/' -e 'pattern' 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *