2010-06-09 3 views
1

J'utilise ack et je l'aime.comment rechercher un terme uniquement dans les fichiers non-test

Cependant de temps en temps j'ai besoin de chercher quelque chose dans mon code de base et je veux ignorer tous les fichiers résidant dans le répertoire de test. Fondamentalement, tous les fichiers qui ont test dans leur chemin absolu ne doivent pas être inclus dans la recherche.

Comment puis-je y parvenir? Je souhaite avoir un script bash personnalisé. Quelque chose comme

ack_no_test « application » -> recherche pour « application » dans tous les fichiers, mais ignorer les fichiers résidant dans le répertoire de test

Répondre

1

De man ack:

- [no] ignore-dir = DIRNAME
répertoire Ignorer (comme CVS, svn, etc sont ignorés). Peut être utilisé plusieurs fois pour ignorer plusieurs répertoires. Par exemple, les utilisateurs du maçon peuvent souhaiter inclure --ignore-dir = data. L'option --noignore-dir permet aux utilisateurs de rechercher dans les répertoires qui seraient normalement ignorés (peut-être pour rechercher le contenu des répertoires .svn/props ).

+0

ceci est plus qu'embarrassant. J'ai regardé l'aide d'ack mais semble avoir manqué celui-ci. Merci mon pote. –

0

on pourrait ajouter « test » à la « repodirs » var dans findrepo.

Personnellement, je pense acck trop compliqué/lent et "non unixy", car il ne réutilise pas le toolkit unix existant.

Questions connexes