web-dev-qa-db-fra.com

Comment utiliser ag pour rechercher du texte dans des fichiers avec certaines extensions?

J'utilise ag ( The Silver Searcher ) version 0.31.0. Je peux facilement rechercher une chaîne dans un tas de fichiers en utilisant:

localhost:workspace davea$ ag 'ftp' .

Mais que se passe-t-il si je souhaite uniquement analyser des fichiers avec certaines extensions? J'ai essayé ceci:

localhost:workspace davea$ ag 'ftp' .Java
ERR: Error stat()ing: .Java
ERR: Error opening directory .Java: No such file or directory

mais j'ai les erreurs que vous voyez ci-dessus.

26
Dave

Selon le manuel, vous pouvez utiliser ag avec -G

   -G --file-search-regex PATTERN
          Only search files whose names match PATTERN.

par exemple.

ag -G '\.Java$' 'ftp' .

Par le même manuel

   It is possible to restrict the types of files searched [...]
   For a list of supported types, run ag --list-file-types.

Vous pouvez donc également exécuter

ag --Java 'ftp' .

mais cela limiterait la recherche aux noms de fichiers se terminant par .Java ou .properties

33
don_crissti

À partir du ag version 2.2.0, tu peux courir ag --list-file-types, qui répertorie les types prêts à l'emploi pris en charge. Tu peux courir ag "ftp" --Java et recherchez uniquement les fichiers Java.

1
mxplusb