在vim中打开100个文件

18
我需要在成千上万(10k+)个文件中搜索特定单词。 现在我需要返回一个文件列表,然后再搜索另一个单词。 我发现grep可以做到这一点,因此我使用:
grep -rl word1 *

这个函数会返回我想要检查的文件列表。 现在从这些文件中(100+),我需要用grep命令搜索另一个单词,所以我必须再做一次grep。

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

但是它卡住了,什么也没做,

为什么?

2个回答

35
因为您有一个双重引号`,所以您需要使用$()
vi `grep -l 'word2' $(grep -rl 'word1' *)`

或者你可以使用嵌套的 $(...) (就像 goblar 提到的那样)

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

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

这是另一个选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接