我需要grep to tons(10k +)的特定单词文件。 现在返回一个文件列表,我还需要grep另一个单词。
我发现grep可以这样做,所以我使用:
grep -rl word1 *
返回我想检查的文件列表。 现在从这些文件(100+),我需要grep另一个词。所以我必须做另一个grep
vim `grep word2 `grep -rl word1 *``
但是它挂了,它没有做任何事情,
为什么?
答案 0 :(得分:35)
因为你有一个双`,你需要使用$()
vi `grep -l 'word2' $(grep -rl 'word1' *)`
或者您可以使用嵌套的$(...)
(如提到的goblar)
vi $(grep -l 'word2' $(grep -rl 'word1' *))
答案 1 :(得分:20)
grep -rl 'word1' | xargs grep -l 'word2' | xargs vi
是另一种选择。