Como uso o ag para procurar texto em arquivos com determinadas extensões?

23

Estou usando ag( o Silver Searcher ) versão 0.31.0. Eu posso facilmente procurar uma string em um monte de arquivos usando:

localhost:workspace davea$ ag 'ftp' .

Mas e se eu só quiser verificar arquivos com determinadas extensões? Eu tentei isso:

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

mas obtive os erros que você vê acima.

Dave
fonte
Deu um turbilhão, mas obtive erros "ERR: Error stat () ing: * .java" e "ERR: Erro ao abrir o diretório * .java: Não existe esse arquivo ou diretório" erros
Dave

Respostas:

28

De acordo com o manual, você pode usar agcom-G

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

por exemplo

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

Pelo mesmo manual

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

Então você também pode executar

ag --java 'ftp' .

embora isso restrinja a pesquisa a nomes de arquivos que terminem em .javaou.properties

don_crissti
fonte
2
oops desculpe, excluindo.
Peter Krauss
`ag -G '\. (hbs | html) $' keyword` se você estiver pesquisando várias extensões de arquivo
Alan Dong
0

A partir de ag version 2.2.0, você pode executar ag --list-file-types, que listará os tipos suportados e prontos para o uso. Você pode executar ag "ftp" --javae pesquisar apenas arquivos Java variáveis.

mxplusb
fonte