Estoy buscando la cadena foo=
en archivos de texto en un árbol de directorios. Está en una máquina Linux común, tengo bash shell:
grep -ircl "foo=" *
En los directorios también hay muchos archivos binarios que coinciden con "foo =". Como estos resultados no son relevantes y ralentizan la búsqueda, quiero que grep omita la búsqueda de estos archivos (principalmente imágenes JPEG y PNG). ¿Como podría hacerlo?
Sé que existen las opciones --exclude=PATTERN
y --include=PATTERN
, pero ¿cuál es el formato del patrón? La página del manual de grep dice:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
Buscando en grep include , grep include exclude , grep exclude y variantes no encontró nada relevante
Si hay una mejor manera de grepping solo en ciertos archivos, estoy de acuerdo; mover los archivos ofensivos no es una opción. No puedo buscar solo ciertos directorios (la estructura del directorio es un gran desastre, con todo en todas partes). Además, no puedo instalar nada, así que tengo que ver con herramientas comunes (como grep o el hallazgo sugerido ).
--exclude-dir=.svn
, por lo que grep no entra en ellos en absoluto
grep -r --exclude-dir=var "pattern" .