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

23

J'utilise ag( The Silver Searcher ) la 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.

Dave
la source
A donné un tourbillon mais a obtenu des erreurs "ERR: Error stat () ing: * .java" et "ERR: Error Opening directory * .java: No such file or directory"
Dave

Réponses:

28

Selon le manuel, vous pouvez utiliser agavec-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 .javaou.properties

don_crissti
la source
2
oups désolé, suppression.
Peter Krauss
`ag -G '\. (hbs | html) $' keyword` si vous recherchez plusieurs extensions de fichier
Alan Dong
0

À partir du ag version 2.2.0, vous pouvez exécuter ag --list-file-types, qui répertoriera les types prêts à l'emploi pris en charge. Vous pouvez exécuter ag "ftp" --javaet rechercher uniquement des fichiers Java variables.

mxplusb
la source