6

silver_searcher是否支持指定多个搜索表达式,例如-ein grep

我在文档/帮助中找不到任何选项。

4

3 回答 3

9

您可能希望使用两个布尔运算符进行搜索:

  • ag -l pattern1 | xargs ag -l pattern2 | xargs ag 'pattern1|pattern2'
  • ag 'pattern1|pattern2'

从手册

-l --files-with-matches: 只打印包含匹配的文件名,而不是匹配的行。空查询将打印所有要搜索的文件。

于 2018-05-18T04:43:21.670 回答
7

根据文档,它不支持多种搜索模式。也就是说,它确实支持使用并行,因此您可以触发多个 ag 实例进行多重搜索:

echo "foo\nbar\nbaz" | parallel 'ag --parallel --color "{}" *' 

使用 --parallel 开关的输出将是文件名、行号和匹配。如果这太花哨了,您可以随时在模式搜索中使用 OR 运算符:

ag --color "foo|bar|baz" * 
于 2017-01-11T18:14:39.773 回答
5

是的,您可以通过用竖线字符 ( |) 分隔每个模式来搜索多个模式:

ag 'pattern1|pattern2'
于 2017-01-11T18:00:03.177 回答