0

我正在尝试在一个包含大量 html 文件的目录中进行搜索,以找到那些在同一行中包含确切值的文件。这应该有效:

grep -iwc 'word1' -sl | xargs grep -iwc 'word2' -s

但这一次只能处理一个文件。我试过这样的事情:

find . -iname '*html' | xargs grep -iwc 'word1' -sl | xargs grep -iwc 'word2' -s

但这似乎显示了包含这两个值中的任何一个的文件,所以即使是那些不在同一行的文件。

输出应该只是文件名和出现次数,例如:

file.html:2

如果可以将这两个 grep 分组?或者另一种方法来做这个搜索?

4

1 回答 1

0

扩展的正则表达式可能会有所帮助。大概是这样的?

find . -iname '*html' | xargs egrep -iwl '(word1.*word2|word2.*word1)'

由于您只有两个要查找的单词,因此列出所有订购它们的方式并不难。

于 2012-06-17T22:47:24.320 回答