如何将两个search词与“grep”(AND)

使用grep,我可以在本地文件夹的50个文件中find一个单词,即:

grep -i "hello" *.html 

但是,我怎样才能find包含两个单词的文件? 例如:我想查找所有包含Word“hello”和word“peter”的文件。 我怎样才能结合两个grep的?

Solutions Collecting From Web of "如何将两个search词与“grep”(AND)"

要查看包含两个单词的文件(可能位于不同的行),请使用-lxargs

 grep -il "hello" *.html | xargs grep -il "peter" 

编辑

如果你的文件名字中有空格,那么我们需要小心点。 为此,我们可以使用特殊的选项来grepxargs

 grep -ilZ "hello" *.html | xargs -0 grep -il "peter" 
 egrep -irl "hello" * |egrep -irl "peter" \`cat -` 

这将在所有子文件夹中递归搜索,并将在引号内匹配正则表达式