2013-05-08 12 views
51

私はしばらくの間、GNU並列を使用しようとしていましたが、まったく機能することはありませんでした!GNU並列はまったく動作していません

は例えば、実行されている(非空のディレクトリに!):

ls | parallel echo   # Outputs single new line 
ls | parallel echo echo echo # Outputs three new lines. 
ls | parallel echo {}   # /bin/bash: {}: command not found 
ls | parallel echo '{}'  # /bin/bash: {}: command not found 
ls | parallel 'echo {}'  # Outputs: {} 
ls | parallel -IMM 'echo MM' # Outputs: MM 

単に意味をなさないコマンド、などの各引数を実行しているようです。

私は、bash、zsh、tcsh、csh、shを無駄にしようとしました。

+0

"bash、zsh、tcsh、csh、およびs h "+1); –

答えて

84

私はこの質問を書いて完成させる程度だったので、私は見つけるために、バージョンを報告しparallel --versionを走っ:

WARNING:YOUは--tollef使用しています。もし何かがWEIRD USEを使っているなら--gnu。

このフラグがデフォルトで設定されている理由はわかりません。言うまでもなく、--gnuを使って作業しました!

私はこれを投稿して、何時間もの欲求不満と混乱を避けることができます。

EDIT: は(少なくともUbuntuの中で)永久にこれを修正するには、お使いのオペレーティングシステムに応じて/etc/parallel/config

+18

--tollefは辞退されます。20140222 http://lists.gnu.org/archive/html/parallel/2013-02/msg00018.htmlあなたが既にあなたの欲求不満を解消してくれたら助かりますあなたのディストリビューションメンテナーに知られて、デフォルトを変更することができます。 –

+0

@Thor「状況を改善する」とはどういう意味ですか?デフォルトの動作を変更する場合と同じですか? – WaelJ

+0

@OleTangeこれはとても聞き取りやすいです! :) – WaelJ

8

--tollefフラグを削除し、あなたが実際にGNUのバージョンを実行しているかどうかを確認する必要があります。

$ parallel --version 
parallel: invalid option -- '-' 
parallel [OPTIONS] command -- arguments 
    for each argument, run command with argument, in parallel 
parallel [OPTIONS] -- commands 
    run specified commands in parallel 

この場合、GNUバージョンを実行していません。 Ubuntu 12.04はこのようなもので、期待する機能を得るにはmanually install GNU parallelが必要です。

1

FREEMAT(MATLAB lookalike)から外部コマンドとして並列実行されていた問題がありました。 argumentFileがコマンドに供給されていなかったが、適切で、それを解決:[ "]関わるcmdstringを構文を使用していないオプション

  • に--gnuを追加

    コード:

    cmdString = 'parallel --gnu command ::: '; 
        while j<=jLength 
         cmdString = [cmdString argumentFilePath(j,:) ' ']; 
         j=j+1; 
        end 
        system(cmdString) 
    

    ありがとうございました:) Im on Ubuntu 12.04。

  • 関連する問題