Ответ 1
Поскольку у вас есть двойной `, вам нужно использовать $()
vi `grep -l 'word2' $(grep -rl 'word1' *)`
Или вы можете использовать вложенный $(...)
(например, упомянутый goblar)
vi $(grep -l 'word2' $(grep -rl 'word1' *))
Мне нужно grep to tons (10k +) файлов для определенных слов. теперь возвращает список файлов, которые мне также нужно grep для другого слова.
Я нашел, что grep может сделать это, поэтому я использую:
grep -rl word1 *
который возвращает список файлов, которые я хочу проверить. теперь из этих файлов (100+), мне нужно grep другое слово. поэтому мне нужно сделать еще один grep
vim `grep word2 `grep -rl word1 *``
но это зависает, и он ничего не делает,
почему?
Поскольку у вас есть двойной `, вам нужно использовать $()
vi `grep -l 'word2' $(grep -rl 'word1' *)`
Или вы можете использовать вложенный $(...)
(например, упомянутый goblar)
vi $(grep -l 'word2' $(grep -rl 'word1' *))
grep -rl 'word1' | xargs grep -l 'word2' | xargs vi
- еще один вариант.