2014-01-18 51 views
2

使用grep,我能找到的範圍內50個文件一個字一個本地文件夾,即:如何兩個搜索詞結合和「grep」(AND)

grep -i "hello" *.html 

但我怎麼能找到包含兩個文件話?例如:我想查找所有包含Word「hello」和word「peter」的文件。我怎樣才能結合兩個grep的?

+0

[grep查找的可能複製所有文件目錄string1和string2](http://stackoverflow.com/questions/4275900/grep-search-all-files-in-directory-for-string1-and-string2) – IMSoP

回答

6

要查看包含文件這兩個詞(可能在不同的線路),使用-lxargs

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

編輯

如果你的文件有空格在其名稱,那麼我們就需要要小心一點。爲此,我們可以使用特殊的選項來grepxargs

grep -ilZ "hello" *.html | xargs -0 grep -il "peter" 
+0

哦 - 我寫錯了什麼。尤其是你的第二行非常有幫助。非常感謝,併爲此感到抱歉。 – Peter

0
egrep -irl "hello" * |egrep -irl "peter" \`cat -` 

這將在所有子文件夾遞歸搜索,將引號內匹配的正則表達式

+0

不起作用。應該找到一個文件。但我只是「找不到文件或路徑」。 – Peter