(GNU?) 並列処理がサイレントに失敗したのはなぜですか? また、どうすれば修正できますか?

(GNU?) 並列処理がサイレントに失敗したのはなぜですか? また、どうすれば修正できますか?

いくつかのシミュレーション データを後処理するためのより大きなスクリプトでは、次の行がありました。

parallel bnzip2 -- *.bz2

これは、私がparallel正しく理解していれば (正しくない可能性もありますが)、リストされている拡張子を持つすべてのファイルに対してプログラムの n コア スレッドを実行するはずです。コマンドのスペルミスに気付いたかもしれませんbunzip2。ここでは警告またはエラー メッセージが表示されるはずですが、何も表示されずに失敗します。これは意図されたものですか? 今後、これに悩まされないようにするにはどうすればよいですか?

アップデート:

parallel私が思っているものとは異なるものがインストールされている可能性があります:

> 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

parallel私のシステムの のマニュアルページには次のように記載されています:

 parallel(1)                                                        parallel(1)
NAME
       parallel - run programs in parallel
....
AUTHOR
   Tollef Fog Heen

これはないGNU バージョン。

答え1

Tollef の moreutils との類似点に混乱しています。https://www.gnu.org/software/parallel/history.html

GNU Parallel は、次の手順で簡単にインストールできます。

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem

詳細については、GNU Parallel の紹介ビデオをご覧ください。 https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

答え2

(コメントしたいのですが、権限がありません。)

おそらく を使用することもできますparallel --gnu。Ubuntu 12(.04?) は Tollef のバージョンを使用すると述べましたが、これは実際には gnu 実装であり、何らかの理由でデフォルトで Tollef の構文が使用されるだけです。

ログイン スクリプトに追加したのでalias parallel='parallel --gnu'、これ以上煩わされることはありません。

関連情報