意外令牌附近的语法错误`(' comm -2 -3<(sort PATH / FILE1)<(sort PATH / FILE2)> PATH / FILE3

时间:2018-01-07 13:24:33

标签: bash unix sh

我正在尝试将file1与file2进行比较,并将差异重定向到Unix shell脚本中的文件3。

我收到以下错误:

syntax error near unexpected token `(' 
comm -2 -3 <(sort PATH/FILE1)  <(sort PATH/FILE2) > PATH/FILE3

file1中的数据:

A
B
D
C

文件2中的数据:

A
C

file3中预期的输出:

B
D

1 个答案:

答案 0 :(得分:0)

当您运行sort file时,您将获得该文件的已排序输出,而不是新文件(名称)。但是comm需要两个文件,而不仅仅是文件内容。您可以创建临时文件,也可以尝试使用uniq的其他方法:

sort file1 file2 | uniq -u

首先通过sort发送两个文件的内容,然后将已排序的内容发送到uniq,“报告或省略重复的行”。 -u告诉它仅打印唯一的行。