Je recherche la chaîne foo=
dans des fichiers texte dans une arborescence de répertoires. C'est sur une machine Linux commune, j'ai un shell bash:
grep -ircl "foo=" *
Les répertoires contiennent également de nombreux fichiers binaires qui correspondent à "foo =". Comme ces résultats ne sont pas pertinents et ralentissent la recherche, je veux que grep ignore la recherche de ces fichiers (principalement des images JPEG et PNG). Comment pourrais-je faire ça?
Je sais qu'il existe des options --exclude=PATTERN
et --include=PATTERN
, mais quel est le format du modèle? La page de manuel de grep dit:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
La recherche sur grep include , grep include exclude , grep exclude et les variantes n'ont trouvé rien de pertinent
S'il n'y a une meilleure façon de saluer que dans certains fichiers, je suis tout à fait d'accord; déplacer les fichiers incriminés n'est pas une option. Je ne peux pas rechercher uniquement certains répertoires (la structure des répertoires est un gros gâchis, avec tout partout). De plus, je ne peux rien installer, donc je dois faire avec des outils communs (comme grep ou la découverte suggérée ).
--exclude-dir=.svn
, donc grep n'y va pas du tout
grep -r --exclude-dir=var "pattern" .