2011-12-16 107 views
18

我需要grep到特定單詞的文件噸(10k +)。 現在返回一個我還需要grep另一個單詞的文件列表。在vim中打開100個文件

我發現一些grep能夠做到這一點,所以我使用:

grep -rl word1 * 

返回我要檢查的文件列表。 現在從這些文件(100+),我需要grep另一個詞。所以我必須做的另一個grep,

vim `grep word2 `grep -rl word1 *`` 

但掛,它沒有做任何事情,

爲什麼呢?

回答

35

因爲你有一個雙`,您需要使用$()

vi `grep -l 'word2' $(grep -rl 'word1' *)` 

或者你可以使用嵌套$(...)(如提及goblar)

vi $(grep -l 'word2' $(grep -rl 'word1' *)) 
+0

謝謝你預定它的工作 – Giraldo 2011-12-16 15:54:20

+0

你是非常歡迎的(請閱讀:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – 2011-12-16 15:55:11

20
grep -rl 'word1' | xargs grep -l 'word2' | xargs vi 

是另一種選擇。