
Ao usar grep com curingas como em
grep -in github */*
para cada diretório grep
mostra muitas mensagens como
grep: dir1/dir2: Is a directory
Como suprimir essas mensagens?
Usar a bandeira --exclude-dir
não funciona para minha surpresa.
Estou usando grep (BSD grep) 2.5.1-FreeBSD
no MacOS.
Responder1
-d skip
fará com que o grep pule diretórios:
grep -in -d pular github/
De acordo comesta página de manual do MaxOSessa opção deve funcionar para MacOS grep. Se acontecer que isso não funciona com o grep do MacOS, você pode instalar entãoGerenciador de pacotes Homebrew MacOSe então use o Homebrew para instalar oVersão GNU do grep, já que GNU grep suporta -d skip
(embora nesse caso você tenha que tornar o diretório que contém GNU grep o primeiro em sua PATH
variável ambiental).
Responder2
Use find
paraencontrararquivos e grep
parag/re/pdentro dos arquivos:
find . -mindepth 2 -maxdepth 2 -type f -exec grep -in github {} \;
Há grandes pistas sobre o propósito de cada ferramenta em seus nomes :-).