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 тоже.

Другие вопросы по тегам