私はGNU parallelをしばらく使用しようとしましたが、それをまったく機能させることができませんでした!
たとえば、実行中(空でないディレクトリで!):
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を試してみましたが、役に立ちませんでした。
この質問を書き終えようとしていたので、parallel --version
バージョンを報告するためにのみ、以下を見つけます。
警告:あなたは--tollefを使用しています。物事が不適切に使用されている場合--gnu。
そのフラグがデフォルトで設定されている理由は明らかではありません。言うまでもなく、--gnu
働いた!
誰かのフラストレーションと混乱を何時間も節約するためにこれを投稿すると思いました。
編集:これを永続的に修正するには(少なくともUbuntuで)、--tollef
フラグ/etc/parallel/config
オペレーティングシステムに応じて、実際に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はこのようなものであり、 手動でGNU parallel をインストールして、期待する機能を取得する必要があります。
FREEMAT(MATLAB lookalike)からの外部コマンドとして並列実行の問題がありました。 argumentFileはコマンドに供給されませんでした。
コード:
cmdString = 'parallel --gnu command ::: ';
while j<=jLength
cmdString = [cmdString argumentFilePath(j,:) ' '];
j=j+1;
end
system(cmdString)
それに感謝します:) Ubuntu 12.04も同様です。
私にとっては同じ問題でしたが、別の問題でした。 parallel
コマンドを実行するだけでサイレントに終了していました。また、parallel --version
はinvalid option
エラーを言っていました。私のパスには並列実行可能バイナリが1つしかありませんでしたが、それでも検出されませんでした。
以下のように修正できました:
whereis parallel
を実行します。これにより、parallelという名前の実行可能ファイルが存在するすべてのパスが提供されます。私の場合、1つのパス/usr/local/bin/parallel
しかありませんでした。このパスを使用して実行すると問題なく動作します。~/.bashrc
のような~/.zshrc
またはalias parallel='/usr/local/bin/parallel'
ファイルにこのエイリアスを追加できますそして今、parallel
はチャームのように機能します。
dev-dsk % parallel --version
GNU parallel 20190322
Copyright (C) 2007-2019 Ole Tange and Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
GNU parallel comes with no warranty.