如何使用 ag 在具有特定扩展名的文件中查找文本?

如何使用 ag 在具有特定扩展名的文件中查找文本?

我在用着ag银色搜寻者)版本0.31.0。我可以使用以下命令轻松地在一堆文件中查找字符串:

localhost:workspace davea$ ag 'ftp' .

但是如果我只想扫描具有某些扩展名的文件怎么办?我试过这个:

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

但出现了您在上面看到的错误。

答案1

根据手册,您可以ag使用-G

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

例如

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

按照同一手册

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

所以你也可以运行

ag --java 'ftp' .

尽管这会将搜索限制为以.java或结尾的文件名.properties

答案2

从 开始ag version 2.2.0,您可以运行ag --list-file-types,它将列出受支持的开箱即用类型。您只能运行ag "ftp" --java和搜索不同的 Java 文件。

相关内容