2017-01-12 13 views
3

Debian 8.6 Jessieにアップグレードした後、GNU並列スクリプトは突然--pipeオプションと-Lオプションを使用して2つ以上のジョブに並列化を停止しました。GNU並列ジョブが生成されない

cat file_with_1064_lines.txt | parallel -L10 -j5 -k -v --pipe "wc -l"

がどの出力この、5つのプロセスを生み出した::(

 
wc -l 
1060 
wc -l 
4 

wc -l 
10 
wc -l 
10 
... 

アップグレード後に同じコマンドコマンドをアップグレードする前に

-Lオプションの値に対して上記の2つの値が変化します最初の文字はL*floor(1064/L)で、2番目の文字は1064 mod Lですが、出力するのは2つのプロセスしかありません。

パラレルバージョン(最新のものと2013年のもの)とは独立して同じことが観察されます。

PS。

$ uname -a 

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux 

$ parallel --version 

GNU parallel 20161222 

答えて

2

-Lがレコードサイズです。 1行の

parallel -L10 -N1 -j5 -k -v --pipe wc -l 

または10レコード:

parallel -L1 -N10 -j5 -k -v --pipe wc -l 
バグが20130122.の周りに固定し、何が欲しいのは10行の1つのレコードを読むことです
関連する問題