Bash:组合多个命令的输出

Bash: Combining outputs of multiple commands

我正在尝试执行以下操作 1.查找所有包含gold这个词的文件 2. 找出所有包含羊字的文件 3. 找到上面1和2的交集(那些包含gold和sheep字样的文件)

以下是我在 bash

中尝试执行此操作的方式
comm -12i < (grep -l gold * | sort) < (grep -l sheep * | sort)

但我收到以下错误

-bash: syntax error near unexpected token `('

'(' 后的 space 没有帮助,取消它也没有用。为什么这是一个问题,我该如何解决?

你们非常亲密:

A space after '(' doesn't help, and neither does taking it off. Why is this a problem and how do I solve it?

(前面的space要删除

comm -12 <(grep -l gold * | sort) <(grep -l sheep * | sort)

在我的系统上 comm 没有 -i 选项,所以我也删除了 i