"синтаксическая ошибка рядом с неожиданным токеном`('"ошибка с заменой процесса

Я получаю проблему при выполнении этой команды:

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 ответа

Решение

Попробуйте использовать sudo:

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

Правильный синтаксис замены процесса будет:

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

Между "<" или ">" и круглыми скобками нет пробела.

Смотрите вики-страницу bash hackers о замене процесса.

Также обратите внимание, что подстановка процессов не поддерживается POSIX sh.

Вы можете использовать одну за другой командой

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

Вы можете попробовать использовать одну за другой команду

sort test.tsv > text1.tsv 
sort test2.tsv > text2.tsv
comm -13 text1.tsv text2.tsv
Другие вопросы по тегам