在vim中打开100个文件

Gir*_*ldo 18 linux vim file-io grep

我需要gret to tons(10k +)的特定单词文件.现在返回一个文件列表,我还需要grep另一个单词.

我发现grep可以这样做,所以我使用:

grep -rl word1 *
Run Code Online (Sandbox Code Playgroud)

它返回我想检查的文件列表.现在从这些文件(100+),我需要grep另一个词.所以我必须做另一个grep

vim `grep word2 `grep -rl word1 *``
Run Code Online (Sandbox Code Playgroud)

但那挂了,它没有做任何事情,

为什么?

Boo*_*eus 35

因为你有一个双`,你需要使用$()

vi `grep -l 'word2' $(grep -rl 'word1' *)`
Run Code Online (Sandbox Code Playgroud)

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

vi $(grep -l 'word2' $(grep -rl 'word1' *))
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以使用$(... $(...)) (3认同)

Mic*_*ker 20

grep -rl 'word1' | xargs grep -l 'word2' | xargs vi
Run Code Online (Sandbox Code Playgroud)

是另一种选择.