您如何确认包含两个或更多短语/单词的文件?

hob*_*es3 7 ack

您如何使用ack搜索包含的文件,例如,

文件中的任何地方?每个短语在文件中至少出现一次。

这有点像在线搜索引擎的行为。

奖金:

  1. 我们也可以在这些单独的短语上使用正则表达式吗?
  2. 或者也许声明一个短语至少必须出现多少次?

小智 6

这应该可以解决问题:执行第一个确认,获取文件列表,查找第二组文件。

ack phrase2 `ack -l phrase1`
Run Code Online (Sandbox Code Playgroud)


And*_*ter 5

@kirkbauer 建议

ack phrase2 `ack -l phrase1`
Run Code Online (Sandbox Code Playgroud)

这确实会奏效。我更喜欢使用$()语法而不是 ``` ` 语法

ack phrase2 $(ack -l phrase1)
Run Code Online (Sandbox Code Playgroud)

随着 ack 2.0 的发布,您可以获得-x开关,以便您可以执行以下操作:

ack -l phrase1 | ack -x phrase2
Run Code Online (Sandbox Code Playgroud)

-x通知ACK采取的文件列表从标准输入读取。