¿Cómo puedo recursivamente grep
todos los directorios y subdirectorios?
find . | xargs grep "texthere" *
grep -r "texthere" .
El primer parámetro representa la expresión regular a buscar, mientras que el segundo representa el directorio en el que se debe buscar. En este caso, .
significa el directorio actual.
Nota: Esto funciona para GNU grep, y en algunas plataformas como Solaris debe usar específicamente GNU grep en lugar de la implementación heredada. Para Solaris este es el comando ggrep
.
Si conoce la extensión o el patrón del archivo que desea, otro método es utilizar la opción --include
:
grep -r --include "*.txt" texthere .
También puede mencionar los archivos a excluir con --exclude
.
Si buscas con frecuencia en el código, Ag (The Silver Searcher) es una alternativa mucho más rápida a grep, que está personalizada para buscar en el código. Por ejemplo, es recursivo por defecto e ignora automáticamente los archivos y directorios listados en .gitignore
, por lo que no tienes que seguir pasando las mismas engorrosas opciones de exclusión a grep o find.