2015-04-02 60 views
0

我正在使用grep來獲取我想要用於另一個grep搜索的文件列表(而不是簡單地將其管理)。如何grep在以前的grep目標文件列表中?

比如我作爲一個輸出:

file1.h:XXX: linecontent 
file2.h:XXX: linecontent 
file3.h:XXX: linecontent 
file4.h:XXX: linecontent 

,我想只有file1.h用grep,file2.h ...

回答

0

假設你想要的是包含文件的文件名'lineofcontent',你可以使用:

grep -l 'lineofcontent' file*.h 
1

我假設你想搜索包含兩種不同模式的文件。如果是這樣,這是你想要什麼:

grep 'your pattern 2' `grep -l 'your pattern 1' *` 

後面引號中的內容將首先執行和輸出代入命令行。使用-l標誌會將grep命令的輸出限制爲文件名。

如果有大量文件與your pattern 1相匹配,則可能會失敗。解決方案是使用xargs

grep -l 'your pattern 1' * | xargs grep 'your argument 2'