“意外令牌附近的语法错误`('”带有进程替换的错误

时间:2017-12-18 16:51:17

标签: bash syntax

执行此命令时遇到问题:

sudo /usr/bin/comm -13 < (sort test.tsv) < (sort test_2.tsv)
Error: d_t.sh: line 4: syntax error near unexpected token `('
d_t.sh: line 4: `sudo /usr/bin/comm -13 < (sort test.tsv) < (sort test_2.tsv)'

4 个答案:

答案 0 :(得分:2)

适当的流程替换语法是:

sudo /usr/bin/comm -13 <(sort test.tsv) <(sort test_2.tsv)

“&lt;”之间没有空格或“&gt;”和括号。

请参阅process substitution上的bash黑客维基页面。

另请注意,POSIX sh不支持进程替换。

答案 1 :(得分:2)

尝试使用sudo

  • sudo sort test.tsv > text1.tsv
  • sudo sort test2.tsv > text2.tsv
  • sudo comm -13 text1.tsv text2.tsv

答案 2 :(得分:1)

您可以一对一使用命令

  • sort test.tsv > text1.tsv sort test2.tsv > text2.tsv comm -13 text1.tsv text2.tsv

答案 3 :(得分:0)

您可以尝试一一使用命令

sort test.tsv > text1.tsv 
sort test2.tsv > text2.tsv
comm -13 text1.tsv text2.tsv