有没有办法强制使用银色搜索器在列表中搜索文件或链式搜索?

3

如果想要打印与搜索匹配的文件名,可以使用以下命令:

ag -l

如果我想要仅通过列表中的文件进行grep,应该使用什么命令?或者说有没有可能以这种方式链接搜索?

3个回答

3

从这个页面上我得知了一个事实: ag -l 返回文件名列表,而ag 接受标准输入的文件。这让我想到了另一种方法,这个方法对我来说非常有效。希望分享给大家。

ag -l <first_search> | xargs ag -l <second_search> | xargs ag -l ...

1

Use std input redirection:

ag "SEARCH_PATTERN" < file1, file,2, file3... 

使用通配符搜索目标文件,可以使用-g选项。 模板如下:
ag -g "FILE_PATTERN" "SEARCH_PATTERN"  

所以一个例子如下:
   ag -G '.*.txt' "pattern"

您可以将文件或搜索模式从包含条目列表的 .txt 文件中提供给 ag,使用 shell 的 for 循环;例如:

while IFS= read -r patterns; do ag -o "$patterns" ~/somewhere ; done < names.txt

0

你所需要做的就是运行:

ag <pattern> <file1> <file2> <...fileN>

例子:

$ ag 'todo' a b
a
59: // todo - demo 1
92: // todo - demo 2

b
15:  // TODO - demo 3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接