Bash: объединение выводов нескольких команд
Я пытаюсь сделать следующее 1. Найти все файлы, содержащие слово gold 2. Найти все файлы, содержащие слово sheep 3. Найдите пересечение 1 и 2 выше (те файлы, которые содержат слово gold и sheep)
Вот как я пытаюсь сделать это в Bash
comm -12i < (grep -l gold * | sort) < (grep -l sheep * | sort)
но я получаю следующую ошибку
-bash: syntax error near unexpected token `('
Пробел после '(' не помогает и не снимает. Почему это проблема и как я могу ее решить?
1 ответ
Решение
Вы были очень близки
Пробел после '(' не помогает и не снимает. Почему это проблема и как я могу ее решить?
Пространство перед (
должен быть удален.
comm -12 <(grep -l gold * | sort) <(grep -l sheep * | sort)
В моей системе comm
не имеет -i
вариант, поэтому я стер i
тоже.