Come posso ricorsivamente grep
tutte le directory e le sottodirectory?
find . | xargs grep "texthere" *
grep -r "texthere" .
Il primo parametro rappresenta l'espressione regolare da cercare, mentre il secondo rappresenta la directory da cercare. In questo caso, .
significa la directory corrente.
Nota: questo funziona per GNU grep, e su alcune piattaforme come Solaris dovete usare specificamente GNU grep in contrapposizione all'implementazione legacy. Per Solaris questo è il comando ggrep
.
Se conosci l'estensione o il modello del file che vorresti, un altro metodo è usare l'opzione --include
:
grep -r --include "*.txt" texthere .
Puoi anche menzionare i file da escludere con --exclude
.
Se cerchi spesso nel codice, Ag (The Silver Searcher) è un'alternativa molto più veloce di grep, che è personalizzato per la ricerca nel codice. Per esempio, è ricorsivo per impostazione predefinita e ignora automaticamente i file e le directory elencate in .gitignore
, in modo da non dover continuare a passare le stesse ingombranti opzioni di esclusione a grep o find.