2017-12-18 15 views
0

と、 "予期しないトークンの近くに構文エラー`( '" エラーこのコマンドを実行するときに、私は問題を取得:プロセス置換

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)' 
+1

スペースを削除する'<'と '('。 –

+1

Retagged:これは[tag:bash]に固有であり、[tag:centos]とは特に関係がありません。 – tripleee

+0

OPがスクリプトを実行するために 'sh'を使用している場合(自己回答が暗示しているように)、bashは全くタグ付けされません。 –

答えて

0

- 答えを誰もが私はこの

  • ソートtest.tsv> text1.tsv
    • ソートtest2.tsv> text2.tsv
    • COMMを使ってSHに問題を解決し感謝-13テキスト1.tsvテキスト2.tsv
+0

sudo/usr/bin/comm -13 <(ソートtest.tsv)<(ソートtest_2.tsv)私のために働いていません – NigHamza

+0

'sudo'は何の目的もありません。 'comm'は2つのプロセス置換から読み込みを行います。ファイルから直接ではなく、上記の式で' sudo'の効果を得ることはできません。 –

2

適切なプロセス置換構文は次のようになります。

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

"< "または"> "とかっこで囲みます。

process substitutionのbash hackers wikiページを参照してください。

また、プロセス置換はPOSIX shでサポートされていないことにも注意してください。

+1

私たちは一般的にABSにリンクするのをためらっています。しかし、答えは良いです。 – tripleee

+0

より良い評判のリファレンスを使用するようにリンクを変更することをお勧めしますか? http://wiki.bash-hackers.org/syntax/expansion/proc_subst、f/e –

+0

完了しました。その提案をありがとう、チャールズ。 –

関連する問題