
Cuando se usa grep con comodines como en
grep -in github */*
para cada directorio grep
muestra muchos mensajes como
grep: dir1/dir2: Is a directory
¿Cómo suprimir estos mensajes?
Para mi sorpresa, usar la bandera --exclude-dir
no funciona.
Lo estoy usando grep (BSD grep) 2.5.1-FreeBSD
en MacOS.
Respuesta1
-d skip
hará que grep omita directorios:
grep -in -d saltar github/
De acuerdo aesta página de manual de MaxOSesa opción debería funcionar para MacOS grep. Si resulta que esto no funciona con MacOS grep, puedes instalarlo.Administrador de paquetes casero de MacOSy luego usar Homebrew para instalar elVersión GNU de grep, ya que GNU grep es compatible -d skip
(aunque en ese caso tendrás que hacer que el directorio que contiene GNU grep sea el primero en tu PATH
variable ambiental).
Respuesta2
Usarfind
paraencontrararchivos ygrep
ag/re/pdentro de los archivos:
find . -mindepth 2 -maxdepth 2 -type f -exec grep -in github {} \;
Hay grandes pistas sobre el propósito de cada herramienta en sus nombres :-).