给定多个关键字(如google返回网页列表),使用grep返回文件列表

时间:2010-09-24 04:46:05

标签: grep keyword

我需要在文件中的任何位置找到包含多个关键字的所有文件(不一定在同一行),给定起始目录,如〜/。 “grep -ro”会这样做吗?

(我正在使用Unix,Mac OSX 10.4)

2 个答案:

答案 0 :(得分:1)

您可以使用-l选项获取包含匹配项的文件名列表,因此只需查找具有第一个关键字的所有文件,然后将该列表过滤到同样具有该文件的文件中第二个关键字:

grep -rl first_keyword basedir | xargs grep -l second_keyword

答案 1 :(得分:0)

仅搜索* .txt

find ~/. -name "*.txt" | xargs grep -l first_keyword | xargs grep -l second_keyword

谢谢亚当!