¿Cómo uso ag para buscar texto en archivos con ciertas extensiones?

23

Estoy usando ag( The Silver Searcher ) versión 0.31.0. Puedo buscar fácilmente una cadena en un montón de archivos usando:

localhost:workspace davea$ ag 'ftp' .

¿Pero qué pasa si solo quiero escanear archivos con ciertas extensiones? Intenté esto:

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

pero tengo los errores que ves arriba.

Dave
fuente
Le dio un giro, pero obtuvo "ERR: Error stat () ing: * .java" y "ERR: Error al abrir el directorio * .java: No existen tales errores de archivo o directorio"
Dave

Respuestas:

28

Según el manual, puede usar agcon-G

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

p.ej

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

Por el mismo manual

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

Entonces también podrías correr

ag --java 'ftp' .

aunque eso restringiría la búsqueda a nombres de archivo que terminen en .javao.properties

don_crissti
fuente
2
¡Uy, perdón, borrando!
Peter Krauss
`ag -G '\. (hbs | html) $' palabra clave` si está buscando múltiples extensiones de archivo
Alan Dong
0

A partir de entonces ag version 2.2.0, puede ejecutar ag --list-file-types, que enumerará los tipos compatibles y listos para usar . Puede ejecutar ag "ftp" --javay buscar solo archivos Java variables.

mxplusb
fuente