2017-04-20 4 views
1

私はこのようなGNU並列ジョブを実行しています:gnuパラレル:同期出力?

parallel program ::: 1 2 3 4 5 6 7 8 9 10 > output.txt 

私は、出力ファイルが注文されることを保証します。すなわち、最初の行はprogram 1の出力に、program 2の出力への次の行に相当します。

これをどうすれば保証できますか?

答えて

2

私は-kオプションは、あなたが望むかもしれないと思う:

前者の例で
--keep-order 
    -k  Keep sequence of output same as the order of input. 
      Normally the output of a job will be printed as soon 
      as the job completes. 
      Try this to see the difference: 
       parallel -j4 sleep {}\; echo {} ::: 2 1 4 3 
       parallel -j4 -k sleep {}\; echo {} ::: 2 1 4 3 

manページから、後者が実際2 1 4 3を生成している間、出力は、1 2 3 4です。

関連する問題