Ubuntuでの並列性の使用

Ubuntuでの並列性の使用

Ubuntu 10.04でパラレルコマンドを使用する際に問題があります。並列文書を確認し、実行するコマンドがほとんどないことがわかりました。いずれの場合も、何もしないでコマンドプロンプトに戻ります。たとえば、bzip2を使用して複数のファイルを圧縮したいとします。


17:32 farhat HarshaNaveen$ parallel bzip2 ::: *fastq 
17:33 farhat HarshaNaveen$ ls *fastq|parallel bzip2 {}

これらのコマンドのどれも機能しません。エラーもありません。 manファイルで提供されている例はうまくいきます。


18:58farhat HarshaNaveen$ parallel sh -c "echo hi; sleep 2; echo bye" -- 1 2 3
hi
hi
hi
bye
bye
bye
18:58farhat HarshaNaveen$ 

私は何が間違っていましたか?

答え1

最初の試みは最も正確ですが、なぜですか::::::に変更すると、--必要に応じて機能します。

parallelコマンドラインは具体的で珍しい構造を持っています。前半は、複数回実行したいコマンドと毎回同じコマンドライン部分を提供します。後半には、コマンドを実行するたびに異なる部分を与えます。 この半分はパーティションで区切られています-- いくつかの実験では、parallel後半が見つからない場合、実際にはどのコマンドも実行しないことがわかりました。

マニュアルページを注意深く読み直すことをお勧めします。マニュアルページには、慣れるのに時間がかかる簡潔で情報の多いスタイルがあります。また、既におなじみのコマンドについては、一部のページをお読みください。

答え2

デフォルトでは、UbuntuはparallelTollefの実装と同じように動作します(なぜ?)。あなたはそれを確認することができます/etc/parallel/config。コマンドラインからこの設定を無視してGNUモードに切り替えることができます--gnu。マニュアルページのすべての例は、このスイッチで正しく機能します。

答え3

私はあなたが同時にbzip2 ::: *fastq2つを実行しようとしていると仮定していますls *fastq|parallel bzip2 {}。 2つの端末ウィンドウを開かずに各ウィンドウで実行しないのはなぜですか?

関連情報