Estou procurando a string foo=
nos arquivos de texto em uma árvore de diretórios. Está em uma máquina Linux comum, tenho o shell bash:
grep -ircl "foo=" *
Nos diretórios também existem muitos arquivos binários que correspondem a "foo =". Como esses resultados não são relevantes e retardam a pesquisa, desejo que o grep pule a pesquisa desses arquivos (principalmente imagens JPEG e PNG). Como eu faria isso?
Eu sei que existem as opções --exclude=PATTERN
e --include=PATTERN
, mas qual é o formato do padrão? A página de manual do grep diz:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
A pesquisa no grep include , grep include exclude , grep exclude e as variantes não encontraram nada relevante
Se existe uma maneira melhor de grepping apenas em certos arquivos, sou a favor; mover os arquivos incorretos não é uma opção. Não consigo pesquisar apenas determinados diretórios (a estrutura de diretórios é uma grande bagunça, com tudo em todo lugar). Além disso, não consigo instalar nada, por isso tenho a ver com ferramentas comuns (como grep ou a localização sugerida ).
--exclude-dir=.svn
, então grep não vai para eles em tudo
grep -r --exclude-dir=var "pattern" .