par_bin ### Test --bin par_bin 2 2 4 par_bin 2 2 4 par_bin 3 3 6 par_bin 3 3 7 par_bin 2 4 8 par_bin 2 4 8 par_bin 3 6 13 par_bin 3 6 13 par_bin ### Test --bin with expression that gives 1..n par_bin 0 0 0 par_bin 0 0 0 par_bin 5 10 21 par_bin 5 10 21 par_bin ### Test --bin with expression that gives 0..n-1 par_bin 0 0 0 par_bin 0 0 0 par_bin 5 10 21 par_bin 5 10 21 par_bin ### Blocks in version 20220122 par_bin 0 0 0 par_bin 0 0 0 par_bin 0 0 0 par_bin 0 0 0 par_bin 0 0 0 par_bin 0 0 0 par_bin 0 0 0 par_bin 1 1 3 par_bin 1 2 4 par_bin 1 2 4 par_bin 1 2 4 par_bin 1 2 4 par_bin 1 2 4 par_bin 1 2 4 par_bin 2 4 9 par_bin 2 4 9 par_exit_code bug #52207: Exit status 0 when child job is killed, even with "now,fail=1" par_exit_code # Ideally the command should return the same par_exit_code # with or without parallel par_exit_code # but fish 2.4.0 returns 1 while X.X.X returns 0 par_exit_code ash /tmp/mysleep 100 137 par_exit_code ash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code ash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code ash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code ash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code ash true;/tmp/mysleep 100 137 par_exit_code ash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code ash parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code csh /tmp/mysleep 100 137 par_exit_code csh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code csh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code csh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code csh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code csh true;/tmp/mysleep 100 137 par_exit_code csh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code csh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code csh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code csh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code dash /tmp/mysleep 100 137 par_exit_code dash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code dash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code dash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code dash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code dash true;/tmp/mysleep 100 137 par_exit_code dash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code dash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code dash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code dash parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code fish /tmp/mysleep 100 137 par_exit_code fish parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code fish parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code fish parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code fish parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code fish true;/tmp/mysleep 100 137 par_exit_code fish parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code fish parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code fish parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code fish parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code fizsh /tmp/mysleep 100 137 par_exit_code fizsh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code fizsh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code fizsh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code fizsh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code fizsh true;/tmp/mysleep 100 137 par_exit_code fizsh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code ksh2020 /tmp/mysleep 100 137 par_exit_code ksh2020 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code ksh2020 parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code ksh2020 true;/tmp/mysleep 100 137 par_exit_code ksh2020 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code posh /tmp/mysleep 100 137 par_exit_code posh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code posh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code posh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code posh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code posh true;/tmp/mysleep 100 137 par_exit_code posh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code posh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code posh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code posh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code rc /tmp/mysleep 100 1 par_exit_code rc parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 1 par_exit_code rc parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 1 par_exit_code rc parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code rc parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code rc true;/tmp/mysleep 100 1 par_exit_code rc parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 1 par_exit_code rc parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 1 par_exit_code rc parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code rc parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code sash /tmp/mysleep 100 255 par_exit_code sash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 255 par_exit_code sash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 255 par_exit_code sash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code sash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code sash true;/tmp/mysleep 100 0 par_exit_code sash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 0 par_exit_code sash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 0 par_exit_code sash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code sash parallel --halt-on-error now,done=1 'true;exit' ::: 100 0 par_exit_code sh /tmp/mysleep 100 137 par_exit_code sh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code sh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code sh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code sh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code sh true;/tmp/mysleep 100 137 par_exit_code sh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code sh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code sh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code sh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code tcsh /tmp/mysleep 100 137 par_exit_code tcsh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code tcsh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code tcsh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code tcsh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code tcsh true;/tmp/mysleep 100 137 par_exit_code tcsh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code tcsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code tcsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code tcsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code bash /tmp/mysleep 100 0 par_exit_code bash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code bash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code bash true;/tmp/mysleep 100 137 par_exit_code bash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code bash parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code fdsh /tmp/mysleep 100 137 par_exit_code fdsh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 /bin/true ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code fdsh true;/tmp/mysleep 100 137 par_exit_code fdsh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 2 par_exit_code fdsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code ksh93 /tmp/mysleep 100 0 par_exit_code ksh93 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code ksh93 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code ksh93 parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code ksh93 parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code ksh93 true;/tmp/mysleep 100 0 par_exit_code ksh93 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh93 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh93 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code ksh93 parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code mksh /tmp/mysleep 100 0 par_exit_code mksh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code mksh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code mksh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code mksh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code mksh true;/tmp/mysleep 100 137 par_exit_code mksh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code mksh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code mksh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code mksh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code static-sh /tmp/mysleep 100 0 par_exit_code static-sh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code static-sh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code static-sh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code static-sh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code static-sh true;/tmp/mysleep 100 0 par_exit_code static-sh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code static-sh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code static-sh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code static-sh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code yash /tmp/mysleep 100 0 par_exit_code yash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code yash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code yash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code yash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code yash true;/tmp/mysleep 100 0 par_exit_code yash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code yash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code yash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code yash parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code zsh /tmp/mysleep 100 0 par_exit_code zsh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code zsh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code zsh parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code zsh parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code zsh true;/tmp/mysleep 100 0 par_exit_code zsh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code zsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code zsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code zsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code parallel: This job finished: par_exit_code runit par_groupby -N1 3 $_%=2 tsv \t ### test tsv | --colsep \t --groupby 3 $_%=2 -N1 par_groupby -N1 3 $_%=2 tsv \t NewRec par_groupby -N1 3 $_%=2 tsv \t a1 b1 C1 par_groupby -N1 3 $_%=2 tsv \t 2 2 2 par_groupby -N1 3 $_%=2 tsv \t 3 2 2 par_groupby -N1 3 $_%=2 tsv \t 3 3 2 par_groupby -N1 3 $_%=2 tsv \t 3 2 4 par_groupby -N1 3 $_%=2 tsv \t 3 2 2 par_groupby -N1 3 $_%=2 tsv \t NewRec par_groupby -N1 3 $_%=2 tsv \t 3 2 3 par_groupby -N1 3 $_%=2 tsv \t 3 1 3 par_groupby -N1 3 $_%=2 tsv \t 3 2 3 par_groupby -N1 3 $_%=2 tsv \t 3 3 3 par_groupby -N1 3 $_%=2 tsv \t NewRec par_groupby -N1 3 $_%=2 tsv \t 3 4 4 par_groupby -N1 3 $_%=2 tsv \t 3 5 4 par_groupby -N1 3 $_%=2 ssv \s+ ### test ssv | --colsep \s+ --groupby 3 $_%=2 -N1 par_groupby -N1 3 $_%=2 ssv \s+ NewRec par_groupby -N1 3 $_%=2 ssv \s+ a1 b1 C1 par_groupby -N1 3 $_%=2 ssv \s+ 2 2 2 par_groupby -N1 3 $_%=2 ssv \s+ 3 2 2 par_groupby -N1 3 $_%=2 ssv \s+ 3 3 2 par_groupby -N1 3 $_%=2 ssv \s+ 3 2 4 par_groupby -N1 3 $_%=2 ssv \s+ 3 2 2 par_groupby -N1 3 $_%=2 ssv \s+ NewRec par_groupby -N1 3 $_%=2 ssv \s+ 3 2 3 par_groupby -N1 3 $_%=2 ssv \s+ 3 1 3 par_groupby -N1 3 $_%=2 ssv \s+ 3 2 3 par_groupby -N1 3 $_%=2 ssv \s+ 3 3 3 par_groupby -N1 3 $_%=2 ssv \s+ NewRec par_groupby -N1 3 $_%=2 ssv \s+ 3 4 4 par_groupby -N1 3 $_%=2 ssv \s+ 3 5 4 par_groupby -N1 3 $_%=2 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby 3 $_%=2 -N1 par_groupby -N1 3 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 3 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby -N1 3 $_%=2 cssv [\s,]+ 2 ,2 ,2 , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 , 2 , 2 , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 , 3 , 2 , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3,,2,,4,, par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby -N1 3 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 2 3 par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 , 1 , 3 , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 ,2 ,3 , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3, 3, 3, par_groupby -N1 3 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 3 $_%=2 cssv [\s,]+ 3, ,4, ,4, , par_groupby -N1 3 $_%=2 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby -N1 3 $_%=2 csv , ### test csv | --colsep , --groupby 3 $_%=2 -N1 par_groupby -N1 3 $_%=2 csv , NewRec par_groupby -N1 3 $_%=2 csv , a1,b1,C1, par_groupby -N1 3 $_%=2 csv , 2,2,2, par_groupby -N1 3 $_%=2 csv , 3,2,2, par_groupby -N1 3 $_%=2 csv , 3,3,2, par_groupby -N1 3 $_%=2 csv , 3,2,4, par_groupby -N1 3 $_%=2 csv , 3,2,2, par_groupby -N1 3 $_%=2 csv , NewRec par_groupby -N1 3 $_%=2 csv , 3,2,3, par_groupby -N1 3 $_%=2 csv , 3,1,3, par_groupby -N1 3 $_%=2 csv , 3,2,3, par_groupby -N1 3 $_%=2 csv , 3,3,3, par_groupby -N1 3 $_%=2 csv , NewRec par_groupby -N1 3 $_%=2 csv , 3,4,4, par_groupby -N1 3 $_%=2 csv , 3,5,4, par_groupby -N1 3 tsv \t ### test tsv | --colsep \t --groupby 3 -N1 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t a1 b1 C1 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t 2 2 2 par_groupby -N1 3 tsv \t 3 2 2 par_groupby -N1 3 tsv \t 3 3 2 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t 3 2 4 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t 3 2 2 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t 3 2 3 par_groupby -N1 3 tsv \t 3 1 3 par_groupby -N1 3 tsv \t 3 2 3 par_groupby -N1 3 tsv \t 3 3 3 par_groupby -N1 3 tsv \t NewRec par_groupby -N1 3 tsv \t 3 4 4 par_groupby -N1 3 tsv \t 3 5 4 par_groupby -N1 3 ssv \s+ ### test ssv | --colsep \s+ --groupby 3 -N1 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ a1 b1 C1 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ 2 2 2 par_groupby -N1 3 ssv \s+ 3 2 2 par_groupby -N1 3 ssv \s+ 3 3 2 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ 3 2 4 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ 3 2 2 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ 3 2 3 par_groupby -N1 3 ssv \s+ 3 1 3 par_groupby -N1 3 ssv \s+ 3 2 3 par_groupby -N1 3 ssv \s+ 3 3 3 par_groupby -N1 3 ssv \s+ NewRec par_groupby -N1 3 ssv \s+ 3 4 4 par_groupby -N1 3 ssv \s+ 3 5 4 par_groupby -N1 3 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby 3 -N1 par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ a1, b1, C1, par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ 2 ,2 ,2 , par_groupby -N1 3 cssv [\s,]+ 3 , 2 , 2 , par_groupby -N1 3 cssv [\s,]+ 3 , 3 , 2 , par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ 3,,2,,4,, par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ 3 2 3 par_groupby -N1 3 cssv [\s,]+ 3 , 1 , 3 , par_groupby -N1 3 cssv [\s,]+ 3 ,2 ,3 , par_groupby -N1 3 cssv [\s,]+ 3, 3, 3, par_groupby -N1 3 cssv [\s,]+ NewRec par_groupby -N1 3 cssv [\s,]+ 3, ,4, ,4, , par_groupby -N1 3 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby -N1 3 csv , ### test csv | --colsep , --groupby 3 -N1 par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , a1,b1,C1, par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , 2,2,2, par_groupby -N1 3 csv , 3,2,2, par_groupby -N1 3 csv , 3,3,2, par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , 3,2,4, par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , 3,2,2, par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , 3,2,3, par_groupby -N1 3 csv , 3,1,3, par_groupby -N1 3 csv , 3,2,3, par_groupby -N1 3 csv , 3,3,3, par_groupby -N1 3 csv , NewRec par_groupby -N1 3 csv , 3,4,4, par_groupby -N1 3 csv , 3,5,4, par_groupby -N1 s/^(.).*/$1/ tsv \t ### test tsv | --colsep \t --groupby s/^(.).*/$1/ -N1 par_groupby -N1 s/^(.).*/$1/ tsv \t NewRec par_groupby -N1 s/^(.).*/$1/ tsv \t a1 b1 C1 par_groupby -N1 s/^(.).*/$1/ tsv \t NewRec par_groupby -N1 s/^(.).*/$1/ tsv \t 2 2 2 par_groupby -N1 s/^(.).*/$1/ tsv \t NewRec par_groupby -N1 s/^(.).*/$1/ tsv \t 3 2 2 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 3 2 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 2 4 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 2 2 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 2 3 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 1 3 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 2 3 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 3 3 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 4 4 par_groupby -N1 s/^(.).*/$1/ tsv \t 3 5 4 par_groupby -N1 s/^(.).*/$1/ ssv \s+ ### test ssv | --colsep \s+ --groupby s/^(.).*/$1/ -N1 par_groupby -N1 s/^(.).*/$1/ ssv \s+ NewRec par_groupby -N1 s/^(.).*/$1/ ssv \s+ a1 b1 C1 par_groupby -N1 s/^(.).*/$1/ ssv \s+ NewRec par_groupby -N1 s/^(.).*/$1/ ssv \s+ 2 2 2 par_groupby -N1 s/^(.).*/$1/ ssv \s+ NewRec par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 2 2 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 3 2 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 2 4 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 2 2 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 2 3 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 1 3 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 2 3 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 3 3 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 4 4 par_groupby -N1 s/^(.).*/$1/ ssv \s+ 3 5 4 par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby s/^(.).*/$1/ -N1 par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ a1, b1, C1, par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 2 ,2 ,2 , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 , 2 , 2 , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 , 3 , 2 , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3,,2,,4,, par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 2 3 par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 , 1 , 3 , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 ,2 ,3 , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3, 3, 3, par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3, ,4, ,4, , par_groupby -N1 s/^(.).*/$1/ cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby -N1 s/^(.).*/$1/ csv , ### test csv | --colsep , --groupby s/^(.).*/$1/ -N1 par_groupby -N1 s/^(.).*/$1/ csv , NewRec par_groupby -N1 s/^(.).*/$1/ csv , a1,b1,C1, par_groupby -N1 s/^(.).*/$1/ csv , NewRec par_groupby -N1 s/^(.).*/$1/ csv , 2,2,2, par_groupby -N1 s/^(.).*/$1/ csv , NewRec par_groupby -N1 s/^(.).*/$1/ csv , 3,2,2, par_groupby -N1 s/^(.).*/$1/ csv , 3,3,2, par_groupby -N1 s/^(.).*/$1/ csv , 3,2,4, par_groupby -N1 s/^(.).*/$1/ csv , 3,2,2, par_groupby -N1 s/^(.).*/$1/ csv , 3,2,3, par_groupby -N1 s/^(.).*/$1/ csv , 3,1,3, par_groupby -N1 s/^(.).*/$1/ csv , 3,2,3, par_groupby -N1 s/^(.).*/$1/ csv , 3,3,3, par_groupby -N1 s/^(.).*/$1/ csv , 3,4,4, par_groupby -N1 s/^(.).*/$1/ csv , 3,5,4, par_groupby -N1 C1 tsv \t ### test tsv | --colsep \t --groupby C1 -N1 par_groupby -N1 C1 tsv \t NewRec par_groupby -N1 C1 tsv \t a1 b1 C1 par_groupby -N1 C1 tsv \t 2 2 2 par_groupby -N1 C1 tsv \t 3 2 2 par_groupby -N1 C1 tsv \t 3 3 2 par_groupby -N1 C1 tsv \t NewRec par_groupby -N1 C1 tsv \t a1 b1 C1 par_groupby -N1 C1 tsv \t 3 2 4 par_groupby -N1 C1 tsv \t NewRec par_groupby -N1 C1 tsv \t a1 b1 C1 par_groupby -N1 C1 tsv \t 3 2 2 par_groupby -N1 C1 tsv \t NewRec par_groupby -N1 C1 tsv \t a1 b1 C1 par_groupby -N1 C1 tsv \t 3 2 3 par_groupby -N1 C1 tsv \t 3 1 3 par_groupby -N1 C1 tsv \t 3 2 3 par_groupby -N1 C1 tsv \t 3 3 3 par_groupby -N1 C1 tsv \t NewRec par_groupby -N1 C1 tsv \t a1 b1 C1 par_groupby -N1 C1 tsv \t 3 4 4 par_groupby -N1 C1 tsv \t 3 5 4 par_groupby -N1 C1 ssv \s+ ### test ssv | --colsep \s+ --groupby C1 -N1 par_groupby -N1 C1 ssv \s+ NewRec par_groupby -N1 C1 ssv \s+ a1 b1 C1 par_groupby -N1 C1 ssv \s+ 2 2 2 par_groupby -N1 C1 ssv \s+ 3 2 2 par_groupby -N1 C1 ssv \s+ 3 3 2 par_groupby -N1 C1 ssv \s+ NewRec par_groupby -N1 C1 ssv \s+ a1 b1 C1 par_groupby -N1 C1 ssv \s+ 3 2 4 par_groupby -N1 C1 ssv \s+ NewRec par_groupby -N1 C1 ssv \s+ a1 b1 C1 par_groupby -N1 C1 ssv \s+ 3 2 2 par_groupby -N1 C1 ssv \s+ NewRec par_groupby -N1 C1 ssv \s+ a1 b1 C1 par_groupby -N1 C1 ssv \s+ 3 2 3 par_groupby -N1 C1 ssv \s+ 3 1 3 par_groupby -N1 C1 ssv \s+ 3 2 3 par_groupby -N1 C1 ssv \s+ 3 3 3 par_groupby -N1 C1 ssv \s+ NewRec par_groupby -N1 C1 ssv \s+ a1 b1 C1 par_groupby -N1 C1 ssv \s+ 3 4 4 par_groupby -N1 C1 ssv \s+ 3 5 4 par_groupby -N1 C1 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby C1 -N1 par_groupby -N1 C1 cssv [\s,]+ NewRec par_groupby -N1 C1 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 cssv [\s,]+ 2 ,2 ,2 , par_groupby -N1 C1 cssv [\s,]+ 3 , 2 , 2 , par_groupby -N1 C1 cssv [\s,]+ 3 , 3 , 2 , par_groupby -N1 C1 cssv [\s,]+ NewRec par_groupby -N1 C1 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 cssv [\s,]+ 3,,2,,4,, par_groupby -N1 C1 cssv [\s,]+ NewRec par_groupby -N1 C1 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby -N1 C1 cssv [\s,]+ NewRec par_groupby -N1 C1 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 cssv [\s,]+ 3 2 3 par_groupby -N1 C1 cssv [\s,]+ 3 , 1 , 3 , par_groupby -N1 C1 cssv [\s,]+ 3 ,2 ,3 , par_groupby -N1 C1 cssv [\s,]+ 3, 3, 3, par_groupby -N1 C1 cssv [\s,]+ NewRec par_groupby -N1 C1 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 cssv [\s,]+ 3, ,4, ,4, , par_groupby -N1 C1 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby -N1 C1 csv , ### test csv | --colsep , --groupby C1 -N1 par_groupby -N1 C1 csv , NewRec par_groupby -N1 C1 csv , a1,b1,C1, par_groupby -N1 C1 csv , 2,2,2, par_groupby -N1 C1 csv , 3,2,2, par_groupby -N1 C1 csv , 3,3,2, par_groupby -N1 C1 csv , NewRec par_groupby -N1 C1 csv , a1,b1,C1, par_groupby -N1 C1 csv , 3,2,4, par_groupby -N1 C1 csv , NewRec par_groupby -N1 C1 csv , a1,b1,C1, par_groupby -N1 C1 csv , 3,2,2, par_groupby -N1 C1 csv , NewRec par_groupby -N1 C1 csv , a1,b1,C1, par_groupby -N1 C1 csv , 3,2,3, par_groupby -N1 C1 csv , 3,1,3, par_groupby -N1 C1 csv , 3,2,3, par_groupby -N1 C1 csv , 3,3,3, par_groupby -N1 C1 csv , NewRec par_groupby -N1 C1 csv , a1,b1,C1, par_groupby -N1 C1 csv , 3,4,4, par_groupby -N1 C1 csv , 3,5,4, par_groupby -N1 C1 $_%=2 tsv \t ### test tsv | --colsep \t --groupby C1 $_%=2 -N1 par_groupby -N1 C1 $_%=2 tsv \t NewRec par_groupby -N1 C1 $_%=2 tsv \t a1 b1 C1 par_groupby -N1 C1 $_%=2 tsv \t 2 2 2 par_groupby -N1 C1 $_%=2 tsv \t 3 2 2 par_groupby -N1 C1 $_%=2 tsv \t 3 3 2 par_groupby -N1 C1 $_%=2 tsv \t 3 2 4 par_groupby -N1 C1 $_%=2 tsv \t 3 2 2 par_groupby -N1 C1 $_%=2 tsv \t NewRec par_groupby -N1 C1 $_%=2 tsv \t a1 b1 C1 par_groupby -N1 C1 $_%=2 tsv \t 3 2 3 par_groupby -N1 C1 $_%=2 tsv \t 3 1 3 par_groupby -N1 C1 $_%=2 tsv \t 3 2 3 par_groupby -N1 C1 $_%=2 tsv \t 3 3 3 par_groupby -N1 C1 $_%=2 tsv \t NewRec par_groupby -N1 C1 $_%=2 tsv \t a1 b1 C1 par_groupby -N1 C1 $_%=2 tsv \t 3 4 4 par_groupby -N1 C1 $_%=2 tsv \t 3 5 4 par_groupby -N1 C1 $_%=2 ssv \s+ ### test ssv | --colsep \s+ --groupby C1 $_%=2 -N1 par_groupby -N1 C1 $_%=2 ssv \s+ NewRec par_groupby -N1 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby -N1 C1 $_%=2 ssv \s+ 2 2 2 par_groupby -N1 C1 $_%=2 ssv \s+ 3 2 2 par_groupby -N1 C1 $_%=2 ssv \s+ 3 3 2 par_groupby -N1 C1 $_%=2 ssv \s+ 3 2 4 par_groupby -N1 C1 $_%=2 ssv \s+ 3 2 2 par_groupby -N1 C1 $_%=2 ssv \s+ NewRec par_groupby -N1 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby -N1 C1 $_%=2 ssv \s+ 3 2 3 par_groupby -N1 C1 $_%=2 ssv \s+ 3 1 3 par_groupby -N1 C1 $_%=2 ssv \s+ 3 2 3 par_groupby -N1 C1 $_%=2 ssv \s+ 3 3 3 par_groupby -N1 C1 $_%=2 ssv \s+ NewRec par_groupby -N1 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby -N1 C1 $_%=2 ssv \s+ 3 4 4 par_groupby -N1 C1 $_%=2 ssv \s+ 3 5 4 par_groupby -N1 C1 $_%=2 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby C1 $_%=2 -N1 par_groupby -N1 C1 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 C1 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 $_%=2 cssv [\s,]+ 2 ,2 ,2 , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 , 2 , 2 , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 , 3 , 2 , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3,,2,,4,, par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby -N1 C1 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 C1 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 2 3 par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 , 1 , 3 , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 ,2 ,3 , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3, 3, 3, par_groupby -N1 C1 $_%=2 cssv [\s,]+ NewRec par_groupby -N1 C1 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3, ,4, ,4, , par_groupby -N1 C1 $_%=2 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby -N1 C1 $_%=2 csv , ### test csv | --colsep , --groupby C1 $_%=2 -N1 par_groupby -N1 C1 $_%=2 csv , NewRec par_groupby -N1 C1 $_%=2 csv , a1,b1,C1, par_groupby -N1 C1 $_%=2 csv , 2,2,2, par_groupby -N1 C1 $_%=2 csv , 3,2,2, par_groupby -N1 C1 $_%=2 csv , 3,3,2, par_groupby -N1 C1 $_%=2 csv , 3,2,4, par_groupby -N1 C1 $_%=2 csv , 3,2,2, par_groupby -N1 C1 $_%=2 csv , NewRec par_groupby -N1 C1 $_%=2 csv , a1,b1,C1, par_groupby -N1 C1 $_%=2 csv , 3,2,3, par_groupby -N1 C1 $_%=2 csv , 3,1,3, par_groupby -N1 C1 $_%=2 csv , 3,2,3, par_groupby -N1 C1 $_%=2 csv , 3,3,3, par_groupby -N1 C1 $_%=2 csv , NewRec par_groupby -N1 C1 $_%=2 csv , a1,b1,C1, par_groupby -N1 C1 $_%=2 csv , 3,4,4, par_groupby -N1 C1 $_%=2 csv , 3,5,4, par_groupby --block 20 3 $_%=2 tsv \t ### test tsv | --colsep \t --groupby 3 $_%=2 --block 20 par_groupby --block 20 3 $_%=2 tsv \t NewRec par_groupby --block 20 3 $_%=2 tsv \t a1 b1 C1 par_groupby --block 20 3 $_%=2 tsv \t 2 2 2 par_groupby --block 20 3 $_%=2 tsv \t 3 2 2 par_groupby --block 20 3 $_%=2 tsv \t 3 3 2 par_groupby --block 20 3 $_%=2 tsv \t 3 2 4 par_groupby --block 20 3 $_%=2 tsv \t 3 2 2 par_groupby --block 20 3 $_%=2 tsv \t NewRec par_groupby --block 20 3 $_%=2 tsv \t 3 2 3 par_groupby --block 20 3 $_%=2 tsv \t 3 1 3 par_groupby --block 20 3 $_%=2 tsv \t 3 2 3 par_groupby --block 20 3 $_%=2 tsv \t 3 3 3 par_groupby --block 20 3 $_%=2 tsv \t 3 4 4 par_groupby --block 20 3 $_%=2 tsv \t 3 5 4 par_groupby --block 20 3 $_%=2 tsv \t parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 $_%=2 tsv \t parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 $_%=2 tsv \t parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 $_%=2 tsv \t parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 $_%=2 tsv \t parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 $_%=2 ssv \s+ ### test ssv | --colsep \s+ --groupby 3 $_%=2 --block 20 par_groupby --block 20 3 $_%=2 ssv \s+ NewRec par_groupby --block 20 3 $_%=2 ssv \s+ a1 b1 C1 par_groupby --block 20 3 $_%=2 ssv \s+ 2 2 2 par_groupby --block 20 3 $_%=2 ssv \s+ 3 2 2 par_groupby --block 20 3 $_%=2 ssv \s+ 3 3 2 par_groupby --block 20 3 $_%=2 ssv \s+ 3 2 4 par_groupby --block 20 3 $_%=2 ssv \s+ 3 2 2 par_groupby --block 20 3 $_%=2 ssv \s+ NewRec par_groupby --block 20 3 $_%=2 ssv \s+ 3 2 3 par_groupby --block 20 3 $_%=2 ssv \s+ 3 1 3 par_groupby --block 20 3 $_%=2 ssv \s+ 3 2 3 par_groupby --block 20 3 $_%=2 ssv \s+ 3 3 3 par_groupby --block 20 3 $_%=2 ssv \s+ NewRec par_groupby --block 20 3 $_%=2 ssv \s+ 3 4 4 par_groupby --block 20 3 $_%=2 ssv \s+ 3 5 4 par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 $_%=2 ssv \s+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 3 $_%=2 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby 3 $_%=2 --block 20 par_groupby --block 20 3 $_%=2 cssv [\s,]+ NewRec par_groupby --block 20 3 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 3 $_%=2 cssv [\s,]+ 2 ,2 ,2 , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 , 2 , 2 , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 , 3 , 2 , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3,,2,,4,, par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby --block 20 3 $_%=2 cssv [\s,]+ NewRec par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 2 3 par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 , 1 , 3 , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 ,2 ,3 , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3, 3, 3, par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3, ,4, ,4, , par_groupby --block 20 3 $_%=2 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 3 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 115. Increasing to --blocksize 151. par_groupby --block 20 3 $_%=2 csv , ### test csv | --colsep , --groupby 3 $_%=2 --block 20 par_groupby --block 20 3 $_%=2 csv , NewRec par_groupby --block 20 3 $_%=2 csv , a1,b1,C1, par_groupby --block 20 3 $_%=2 csv , 2,2,2, par_groupby --block 20 3 $_%=2 csv , 3,2,2, par_groupby --block 20 3 $_%=2 csv , 3,3,2, par_groupby --block 20 3 $_%=2 csv , 3,2,4, par_groupby --block 20 3 $_%=2 csv , 3,2,2, par_groupby --block 20 3 $_%=2 csv , NewRec par_groupby --block 20 3 $_%=2 csv , 3,2,3, par_groupby --block 20 3 $_%=2 csv , 3,1,3, par_groupby --block 20 3 $_%=2 csv , 3,2,3, par_groupby --block 20 3 $_%=2 csv , 3,3,3, par_groupby --block 20 3 $_%=2 csv , 3,4,4, par_groupby --block 20 3 $_%=2 csv , 3,5,4, par_groupby --block 20 3 $_%=2 csv , parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 $_%=2 csv , parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 $_%=2 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 $_%=2 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 $_%=2 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 tsv \t ### test tsv | --colsep \t --groupby 3 --block 20 par_groupby --block 20 3 tsv \t NewRec par_groupby --block 20 3 tsv \t a1 b1 C1 par_groupby --block 20 3 tsv \t NewRec par_groupby --block 20 3 tsv \t 2 2 2 par_groupby --block 20 3 tsv \t 3 2 2 par_groupby --block 20 3 tsv \t 3 3 2 par_groupby --block 20 3 tsv \t NewRec par_groupby --block 20 3 tsv \t 3 2 4 par_groupby --block 20 3 tsv \t NewRec par_groupby --block 20 3 tsv \t 3 2 2 par_groupby --block 20 3 tsv \t NewRec par_groupby --block 20 3 tsv \t 3 2 3 par_groupby --block 20 3 tsv \t 3 1 3 par_groupby --block 20 3 tsv \t 3 2 3 par_groupby --block 20 3 tsv \t 3 3 3 par_groupby --block 20 3 tsv \t 3 4 4 par_groupby --block 20 3 tsv \t 3 5 4 par_groupby --block 20 3 tsv \t parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 tsv \t parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 tsv \t parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 tsv \t parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 tsv \t parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 ssv \s+ ### test ssv | --colsep \s+ --groupby 3 --block 20 par_groupby --block 20 3 ssv \s+ NewRec par_groupby --block 20 3 ssv \s+ a1 b1 C1 par_groupby --block 20 3 ssv \s+ NewRec par_groupby --block 20 3 ssv \s+ 2 2 2 par_groupby --block 20 3 ssv \s+ 3 2 2 par_groupby --block 20 3 ssv \s+ 3 3 2 par_groupby --block 20 3 ssv \s+ NewRec par_groupby --block 20 3 ssv \s+ 3 2 4 par_groupby --block 20 3 ssv \s+ 3 2 2 par_groupby --block 20 3 ssv \s+ NewRec par_groupby --block 20 3 ssv \s+ 3 2 3 par_groupby --block 20 3 ssv \s+ 3 1 3 par_groupby --block 20 3 ssv \s+ 3 2 3 par_groupby --block 20 3 ssv \s+ 3 3 3 par_groupby --block 20 3 ssv \s+ NewRec par_groupby --block 20 3 ssv \s+ 3 4 4 par_groupby --block 20 3 ssv \s+ 3 5 4 par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 ssv \s+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 3 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby 3 --block 20 par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ 2 ,2 ,2 , par_groupby --block 20 3 cssv [\s,]+ 3 , 2 , 2 , par_groupby --block 20 3 cssv [\s,]+ 3 , 3 , 2 , par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ 3,,2,,4,, par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ 3 2 3 par_groupby --block 20 3 cssv [\s,]+ 3 , 1 , 3 , par_groupby --block 20 3 cssv [\s,]+ 3 ,2 ,3 , par_groupby --block 20 3 cssv [\s,]+ 3, 3, 3, par_groupby --block 20 3 cssv [\s,]+ NewRec par_groupby --block 20 3 cssv [\s,]+ 3, ,4, ,4, , par_groupby --block 20 3 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby --block 20 3 cssv [\s,]+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 cssv [\s,]+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 cssv [\s,]+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 cssv [\s,]+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 cssv [\s,]+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 3 csv , ### test csv | --colsep , --groupby 3 --block 20 par_groupby --block 20 3 csv , NewRec par_groupby --block 20 3 csv , a1,b1,C1, par_groupby --block 20 3 csv , NewRec par_groupby --block 20 3 csv , 2,2,2, par_groupby --block 20 3 csv , 3,2,2, par_groupby --block 20 3 csv , 3,3,2, par_groupby --block 20 3 csv , NewRec par_groupby --block 20 3 csv , 3,2,4, par_groupby --block 20 3 csv , NewRec par_groupby --block 20 3 csv , 3,2,2, par_groupby --block 20 3 csv , NewRec par_groupby --block 20 3 csv , 3,2,3, par_groupby --block 20 3 csv , 3,1,3, par_groupby --block 20 3 csv , 3,2,3, par_groupby --block 20 3 csv , 3,3,3, par_groupby --block 20 3 csv , 3,4,4, par_groupby --block 20 3 csv , 3,5,4, par_groupby --block 20 3 csv , parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 3 csv , parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 3 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 3 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 3 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 s/^(.).*/$1/ tsv \t ### test tsv | --colsep \t --groupby s/^(.).*/$1/ --block 20 par_groupby --block 20 s/^(.).*/$1/ tsv \t NewRec par_groupby --block 20 s/^(.).*/$1/ tsv \t a1 b1 C1 par_groupby --block 20 s/^(.).*/$1/ tsv \t NewRec par_groupby --block 20 s/^(.).*/$1/ tsv \t 2 2 2 par_groupby --block 20 s/^(.).*/$1/ tsv \t NewRec par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 2 2 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 3 2 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 2 4 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 2 2 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 2 3 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 1 3 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 2 3 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 3 3 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 4 4 par_groupby --block 20 s/^(.).*/$1/ tsv \t 3 5 4 par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 s/^(.).*/$1/ tsv \t parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ ### test ssv | --colsep \s+ --groupby s/^(.).*/$1/ --block 20 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ NewRec par_groupby --block 20 s/^(.).*/$1/ ssv \s+ a1 b1 C1 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ NewRec par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 2 2 2 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ NewRec par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 2 2 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 3 2 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 2 4 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 2 2 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 2 3 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 1 3 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 2 3 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 3 3 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 4 4 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ 3 5 4 par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 115. Increasing to --blocksize 151. par_groupby --block 20 s/^(.).*/$1/ ssv \s+ parallel: Warning: A record was longer than 151. Increasing to --blocksize 198. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby s/^(.).*/$1/ --block 20 par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ a1, b1, C1, par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 2 ,2 ,2 , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ NewRec par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 , 2 , 2 , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 , 3 , 2 , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3,,2,,4,, par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 2 3 par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 , 1 , 3 , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 ,2 ,3 , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3, 3, 3, par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3, ,4, ,4, , par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 s/^(.).*/$1/ cssv [\s,]+ parallel: Warning: A record was longer than 115. Increasing to --blocksize 151. par_groupby --block 20 s/^(.).*/$1/ csv , ### test csv | --colsep , --groupby s/^(.).*/$1/ --block 20 par_groupby --block 20 s/^(.).*/$1/ csv , NewRec par_groupby --block 20 s/^(.).*/$1/ csv , a1,b1,C1, par_groupby --block 20 s/^(.).*/$1/ csv , NewRec par_groupby --block 20 s/^(.).*/$1/ csv , 2,2,2, par_groupby --block 20 s/^(.).*/$1/ csv , NewRec par_groupby --block 20 s/^(.).*/$1/ csv , 3,2,2, par_groupby --block 20 s/^(.).*/$1/ csv , 3,3,2, par_groupby --block 20 s/^(.).*/$1/ csv , 3,2,4, par_groupby --block 20 s/^(.).*/$1/ csv , 3,2,2, par_groupby --block 20 s/^(.).*/$1/ csv , 3,2,3, par_groupby --block 20 s/^(.).*/$1/ csv , 3,1,3, par_groupby --block 20 s/^(.).*/$1/ csv , 3,2,3, par_groupby --block 20 s/^(.).*/$1/ csv , 3,3,3, par_groupby --block 20 s/^(.).*/$1/ csv , 3,4,4, par_groupby --block 20 s/^(.).*/$1/ csv , 3,5,4, par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 s/^(.).*/$1/ csv , parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 C1 tsv \t ### test tsv | --colsep \t --groupby C1 --block 20 par_groupby --block 20 C1 tsv \t NewRec par_groupby --block 20 C1 tsv \t a1 b1 C1 par_groupby --block 20 C1 tsv \t 2 2 2 par_groupby --block 20 C1 tsv \t 3 2 2 par_groupby --block 20 C1 tsv \t 3 3 2 par_groupby --block 20 C1 tsv \t NewRec par_groupby --block 20 C1 tsv \t a1 b1 C1 par_groupby --block 20 C1 tsv \t 3 2 4 par_groupby --block 20 C1 tsv \t NewRec par_groupby --block 20 C1 tsv \t a1 b1 C1 par_groupby --block 20 C1 tsv \t 3 2 2 par_groupby --block 20 C1 tsv \t NewRec par_groupby --block 20 C1 tsv \t a1 b1 C1 par_groupby --block 20 C1 tsv \t 3 2 3 par_groupby --block 20 C1 tsv \t 3 1 3 par_groupby --block 20 C1 tsv \t 3 2 3 par_groupby --block 20 C1 tsv \t 3 3 3 par_groupby --block 20 C1 tsv \t 3 4 4 par_groupby --block 20 C1 tsv \t 3 5 4 par_groupby --block 20 C1 tsv \t parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 tsv \t parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 tsv \t parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 tsv \t parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 tsv \t parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 ssv \s+ ### test ssv | --colsep \s+ --groupby C1 --block 20 par_groupby --block 20 C1 ssv \s+ NewRec par_groupby --block 20 C1 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 ssv \s+ 2 2 2 par_groupby --block 20 C1 ssv \s+ 3 2 2 par_groupby --block 20 C1 ssv \s+ 3 3 2 par_groupby --block 20 C1 ssv \s+ NewRec par_groupby --block 20 C1 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 ssv \s+ 3 2 4 par_groupby --block 20 C1 ssv \s+ 3 2 2 par_groupby --block 20 C1 ssv \s+ NewRec par_groupby --block 20 C1 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 ssv \s+ 3 2 3 par_groupby --block 20 C1 ssv \s+ 3 1 3 par_groupby --block 20 C1 ssv \s+ 3 2 3 par_groupby --block 20 C1 ssv \s+ 3 3 3 par_groupby --block 20 C1 ssv \s+ NewRec par_groupby --block 20 C1 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 ssv \s+ 3 4 4 par_groupby --block 20 C1 ssv \s+ 3 5 4 par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 ssv \s+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 C1 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby C1 --block 20 par_groupby --block 20 C1 cssv [\s,]+ NewRec par_groupby --block 20 C1 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 cssv [\s,]+ 2 ,2 ,2 , par_groupby --block 20 C1 cssv [\s,]+ 3 , 2 , 2 , par_groupby --block 20 C1 cssv [\s,]+ 3 , 3 , 2 , par_groupby --block 20 C1 cssv [\s,]+ NewRec par_groupby --block 20 C1 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 cssv [\s,]+ 3,,2,,4,, par_groupby --block 20 C1 cssv [\s,]+ NewRec par_groupby --block 20 C1 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby --block 20 C1 cssv [\s,]+ NewRec par_groupby --block 20 C1 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 cssv [\s,]+ 3 2 3 par_groupby --block 20 C1 cssv [\s,]+ 3 , 1 , 3 , par_groupby --block 20 C1 cssv [\s,]+ 3 ,2 ,3 , par_groupby --block 20 C1 cssv [\s,]+ 3, 3, 3, par_groupby --block 20 C1 cssv [\s,]+ NewRec par_groupby --block 20 C1 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 cssv [\s,]+ 3, ,4, ,4, , par_groupby --block 20 C1 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby --block 20 C1 cssv [\s,]+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 cssv [\s,]+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 cssv [\s,]+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 cssv [\s,]+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 cssv [\s,]+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 csv , ### test csv | --colsep , --groupby C1 --block 20 par_groupby --block 20 C1 csv , NewRec par_groupby --block 20 C1 csv , a1,b1,C1, par_groupby --block 20 C1 csv , 2,2,2, par_groupby --block 20 C1 csv , 3,2,2, par_groupby --block 20 C1 csv , 3,3,2, par_groupby --block 20 C1 csv , NewRec par_groupby --block 20 C1 csv , a1,b1,C1, par_groupby --block 20 C1 csv , 3,2,4, par_groupby --block 20 C1 csv , NewRec par_groupby --block 20 C1 csv , a1,b1,C1, par_groupby --block 20 C1 csv , 3,2,2, par_groupby --block 20 C1 csv , NewRec par_groupby --block 20 C1 csv , a1,b1,C1, par_groupby --block 20 C1 csv , 3,2,3, par_groupby --block 20 C1 csv , 3,1,3, par_groupby --block 20 C1 csv , 3,2,3, par_groupby --block 20 C1 csv , 3,3,3, par_groupby --block 20 C1 csv , 3,4,4, par_groupby --block 20 C1 csv , 3,5,4, par_groupby --block 20 C1 csv , parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 csv , parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 $_%=2 tsv \t ### test tsv | --colsep \t --groupby C1 $_%=2 --block 20 par_groupby --block 20 C1 $_%=2 tsv \t NewRec par_groupby --block 20 C1 $_%=2 tsv \t a1 b1 C1 par_groupby --block 20 C1 $_%=2 tsv \t 2 2 2 par_groupby --block 20 C1 $_%=2 tsv \t 3 2 2 par_groupby --block 20 C1 $_%=2 tsv \t 3 3 2 par_groupby --block 20 C1 $_%=2 tsv \t 3 2 4 par_groupby --block 20 C1 $_%=2 tsv \t 3 2 2 par_groupby --block 20 C1 $_%=2 tsv \t NewRec par_groupby --block 20 C1 $_%=2 tsv \t a1 b1 C1 par_groupby --block 20 C1 $_%=2 tsv \t 3 2 3 par_groupby --block 20 C1 $_%=2 tsv \t 3 1 3 par_groupby --block 20 C1 $_%=2 tsv \t 3 2 3 par_groupby --block 20 C1 $_%=2 tsv \t 3 3 3 par_groupby --block 20 C1 $_%=2 tsv \t 3 4 4 par_groupby --block 20 C1 $_%=2 tsv \t 3 5 4 par_groupby --block 20 C1 $_%=2 tsv \t parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 $_%=2 tsv \t parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 $_%=2 tsv \t parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 $_%=2 tsv \t parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 $_%=2 tsv \t parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 $_%=2 ssv \s+ ### test ssv | --colsep \s+ --groupby C1 $_%=2 --block 20 par_groupby --block 20 C1 $_%=2 ssv \s+ NewRec par_groupby --block 20 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 $_%=2 ssv \s+ 2 2 2 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 2 2 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 3 2 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 2 4 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 2 2 par_groupby --block 20 C1 $_%=2 ssv \s+ NewRec par_groupby --block 20 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 2 3 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 1 3 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 2 3 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 3 3 par_groupby --block 20 C1 $_%=2 ssv \s+ NewRec par_groupby --block 20 C1 $_%=2 ssv \s+ a1 b1 C1 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 4 4 par_groupby --block 20 C1 $_%=2 ssv \s+ 3 5 4 par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 $_%=2 ssv \s+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ ### test cssv | --colsep [\s,]+ --groupby C1 $_%=2 --block 20 par_groupby --block 20 C1 $_%=2 cssv [\s,]+ NewRec par_groupby --block 20 C1 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 2 ,2 ,2 , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 , 2 , 2 , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 , 3 , 2 , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3,,2,,4,, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 ,,, 2 ,,, 2 ,,, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ NewRec par_groupby --block 20 C1 $_%=2 cssv [\s,]+ a1, b1, C1, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 2 3 par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 , 1 , 3 , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 ,2 ,3 , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3, 3, 3, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3, ,4, ,4, , par_groupby --block 20 C1 $_%=2 cssv [\s,]+ 3 ,,5 ,,4 ,, par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 $_%=2 cssv [\s,]+ parallel: Warning: A record was longer than 87. Increasing to --blocksize 115. par_groupby --block 20 C1 $_%=2 csv , ### test csv | --colsep , --groupby C1 $_%=2 --block 20 par_groupby --block 20 C1 $_%=2 csv , NewRec par_groupby --block 20 C1 $_%=2 csv , a1,b1,C1, par_groupby --block 20 C1 $_%=2 csv , 2,2,2, par_groupby --block 20 C1 $_%=2 csv , 3,2,2, par_groupby --block 20 C1 $_%=2 csv , 3,3,2, par_groupby --block 20 C1 $_%=2 csv , 3,2,4, par_groupby --block 20 C1 $_%=2 csv , 3,2,2, par_groupby --block 20 C1 $_%=2 csv , NewRec par_groupby --block 20 C1 $_%=2 csv , a1,b1,C1, par_groupby --block 20 C1 $_%=2 csv , 3,2,3, par_groupby --block 20 C1 $_%=2 csv , 3,1,3, par_groupby --block 20 C1 $_%=2 csv , 3,2,3, par_groupby --block 20 C1 $_%=2 csv , 3,3,3, par_groupby --block 20 C1 $_%=2 csv , 3,4,4, par_groupby --block 20 C1 $_%=2 csv , 3,5,4, par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 20. Increasing to --blocksize 27. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 27. Increasing to --blocksize 37. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby_pipepart tsv \t 3 $_%=2 ### test tsv | --colsep \t --groupby 3 $_%=2 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 $_%=2 NewRec par_groupby_pipepart tsv \t 3 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t 3 ### test tsv | --colsep \t --groupby 3 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t 3 NewRec par_groupby_pipepart tsv \t 3 90001 540006 1170031 par_groupby_pipepart tsv \t c1 ### test tsv | --colsep \t --groupby c1 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 NewRec par_groupby_pipepart tsv \t c1 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 ### test tsv | --colsep \t --groupby c1 $_%=2 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t c1 $_%=2 NewRec par_groupby_pipepart tsv \t c1 $_%=2 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ ### test tsv | --colsep \t --groupby s/^(\d+[\t ,]+){2}(\d+).*/$2/ par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 ### test ssv | --colsep \s+ --groupby 3 $_%=2 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec par_groupby_pipepart ssv \s+ 3 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 ### test ssv | --colsep \s+ --groupby 3 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ 3 NewRec par_groupby_pipepart ssv \s+ 3 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 ### test ssv | --colsep \s+ --groupby c1 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 NewRec par_groupby_pipepart ssv \s+ c1 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 ### test ssv | --colsep \s+ --groupby c1 $_%=2 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec par_groupby_pipepart ssv \s+ c1 $_%=2 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ ### test ssv | --colsep \s+ --groupby s/^(\d+[\t ,]+){2}(\d+).*/$2/ par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1170031 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 ### test cssv | --colsep [\s,]+ --groupby 3 $_%=2 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 ### test cssv | --colsep [\s,]+ --groupby 3 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ 3 NewRec par_groupby_pipepart cssv [\s,]+ 3 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 ### test cssv | --colsep [\s,]+ --groupby c1 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 NewRec par_groupby_pipepart cssv [\s,]+ c1 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 ### test cssv | --colsep [\s,]+ --groupby c1 $_%=2 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ ### test cssv | --colsep [\s,]+ --groupby s/^(\d+[\t ,]+){2}(\d+).*/$2/ par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 540006 1710037 par_groupby_pipepart csv , 3 $_%=2 ### test csv | --colsep , --groupby 3 $_%=2 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 $_%=2 NewRec par_groupby_pipepart csv , 3 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , 3 ### test csv | --colsep , --groupby 3 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , 3 NewRec par_groupby_pipepart csv , 3 90001 90001 1170031 par_groupby_pipepart csv , c1 ### test csv | --colsep , --groupby c1 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 NewRec par_groupby_pipepart csv , c1 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 ### test csv | --colsep , --groupby c1 $_%=2 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , c1 $_%=2 NewRec par_groupby_pipepart csv , c1 $_%=2 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ ### test csv | --colsep , --groupby s/^(\d+[\t ,]+){2}(\d+).*/$2/ par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par_keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results par_keeporder_roundrobin OK par_load_from_PARALLEL ### Test reading load from PARALLEL par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 - par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 - par_macron ### See if \257\256 \257<\257> is replaced correctly par_macron ¯ -X ¯ par_macron ¯ -X ¯ par_macron ¯ -X ¯ ¯ par_macron ¯ -X ¯ ¯ par_macron ¯ -X ¯¯ par_macron ¯ -X ¯¯ par_macron ¯ -q ¯ par_macron ¯ -q ¯ ¯ par_macron ¯ -q "¯" ¯ par_macron ¯ -q ¯¯ par_macron ¯ -q "¯"¯ par_macron ¯ -q /usr/bin/bash: $'echo \257': command not found par_macron ¯ -Xq ¯ par_macron ¯ -Xq ¯ ¯ par_macron ¯ -Xq "¯" ¯ par_macron ¯ -Xq ¯¯ par_macron ¯ -Xq "¯"¯ par_macron ¯ -Xq /usr/bin/bash: $'echo \257': command not found par_macron ¯ -k ¯ par_macron ¯ -k ¯ par_macron ¯ -k ¯ ¯ par_macron ¯ -k ¯ ¯ par_macron ¯ -k ¯¯ par_macron ¯ -k ¯¯ par_macron ¯® -X ¯® par_macron ¯® -X ¯® par_macron ¯® -X ¯® ¯® par_macron ¯® -X ¯® ¯® par_macron ¯® -X ¯®¯® par_macron ¯® -X ¯®¯® par_macron ¯® -q ¯® par_macron ¯® -q ¯® ¯® par_macron ¯® -q "¯®" ¯® par_macron ¯® -q ¯®¯® par_macron ¯® -q "¯®"¯® par_macron ¯® -q /usr/bin/bash: $'echo \257\256': command not found par_macron ¯® -Xq ¯® par_macron ¯® -Xq ¯® ¯® par_macron ¯® -Xq "¯®" ¯® par_macron ¯® -Xq ¯®¯® par_macron ¯® -Xq "¯®"¯® par_macron ¯® -Xq /usr/bin/bash: $'echo \257\256': command not found par_macron ¯® -k ¯® par_macron ¯® -k ¯® par_macron ¯® -k ¯® ¯® par_macron ¯® -k ¯® ¯® par_macron ¯® -k ¯®¯® par_macron ¯® -k ¯®¯® par_macron ¯¯® -X ¯¯® par_macron ¯¯® -X ¯¯® par_macron ¯¯® -X ¯¯® ¯¯® par_macron ¯¯® -X ¯¯® ¯¯® par_macron ¯¯® -X ¯¯®¯¯® par_macron ¯¯® -X ¯¯®¯¯® par_macron ¯¯® -q ¯¯® par_macron ¯¯® -q ¯¯® ¯¯® par_macron ¯¯® -q "¯¯®" ¯¯® par_macron ¯¯® -q ¯¯®¯¯® par_macron ¯¯® -q "¯¯®"¯¯® par_macron ¯¯® -q /usr/bin/bash: $'echo \257\257\256': command not found par_macron ¯¯® -Xq ¯¯® par_macron ¯¯® -Xq ¯¯® ¯¯® par_macron ¯¯® -Xq "¯¯®" ¯¯® par_macron ¯¯® -Xq ¯¯®¯¯® par_macron ¯¯® -Xq "¯¯®"¯¯® par_macron ¯¯® -Xq /usr/bin/bash: $'echo \257\257\256': command not found par_macron ¯¯® -k ¯¯® par_macron ¯¯® -k ¯¯® par_macron ¯¯® -k ¯¯® ¯¯® par_macron ¯¯® -k ¯¯® ¯¯® par_macron ¯¯® -k ¯¯®¯¯® par_macron ¯¯® -k ¯¯®¯¯® par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>"¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>" ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>"¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory par_max_length_len_128k ### BUG: The length for -X is not close to max (131072) par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx par_memfree ### test memfree - it should be killed by timeout par_memfree Free mem: 1k par_memfree parallel: Warning: This job was killed because it timed out: par_memfree parallel: Warning: parallel --memfree 1t echo Free mem: ::: 1t par_memory_leak ### Test for memory leaks par_memory_leak Of 300 runs of 1 job at least one should be bigger than a 3000 job run par_memory_leak Good: No memleak detected. par_no_newline_compress bug #41613: --compress --line-buffer - no newline par_no_newline_compress tagstring=--tagstring {#} compress=--compress par_no_newline_compress 1 OK par_no_newline_compress tagstring=--tagstring {#} compress=--compress par_no_newline_compress 1 OK par_no_newline_compress tagstring=--tagstring {#} compress=-k par_no_newline_compress 1 OK par_no_newline_compress tagstring=--tagstring {#} compress=-k par_no_newline_compress 1 OK par_no_newline_compress tagstring=-k compress=--compress par_no_newline_compress OK par_no_newline_compress tagstring=-k compress=--compress par_no_newline_compress OK par_no_newline_compress tagstring=-k compress=-k par_no_newline_compress OK par_no_newline_compress tagstring=-k compress=-k par_no_newline_compress OK par_plus_dyn_repl Dynamic replacement strings defined by --plus par_plus_dyn_repl myval par_plus_dyn_repl myval par_plus_dyn_repl myval par_plus_dyn_repl myval par_plus_dyn_repl myval par_plus_dyn_repl cAaAdef par_plus_dyn_repl cAaAdef par_plus_dyn_repl cAaAdef par_plus_dyn_repl cAaAdef par_plus_dyn_repl cAaAdef par_plus_dyn_repl cAa par_plus_dyn_repl cAa par_plus_dyn_repl cAa par_plus_dyn_repl cAa par_plus_dyn_repl cAa par_plus_dyn_repl 9 par_plus_dyn_repl 9 par_plus_dyn_repl 1 par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl AaAdef par_plus_dyn_repl AaAdef par_plus_dyn_repl AaAdef par_plus_dyn_repl AaAdef par_plus_dyn_repl AaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaA par_plus_dyn_repl abcAaA par_plus_dyn_repl abcAaA par_plus_dyn_repl abcAaA par_plus_dyn_repl abcAaA par_plus_dyn_repl abcAaAghi par_plus_dyn_repl abcAaAghi par_plus_dyn_repl abcAaAghi par_plus_dyn_repl abcAaAghi par_plus_dyn_repl abcAaAghi par_plus_dyn_repl AbcAaAdef par_plus_dyn_repl AbcAaAdef par_plus_dyn_repl AbcAaAdef par_plus_dyn_repl AbcAaAdef par_plus_dyn_repl AbcAaAdef par_plus_dyn_repl AbcAAAdef par_plus_dyn_repl AbcAAAdef par_plus_dyn_repl AbcAAAdef par_plus_dyn_repl AbcAAAdef par_plus_dyn_repl AbcAAAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcAaAdef par_plus_dyn_repl abcaaadef par_plus_dyn_repl abcaaadef par_plus_dyn_repl abcaaadef par_plus_dyn_repl abcaaadef par_plus_dyn_repl abcaaadef par_race_condition1 ### Test race condition on 8 CPU (my laptop) par_race_condition1 1 par_race_condition1 2 par_race_condition1 3 par_race_condition1 4 par_race_condition1 5 par_race_condition1 6 par_race_condition1 7 par_race_condition1 8 par_race_condition1 9 par_race_condition1 10 par_round_robin_blocks bug #49664: --round-robin does not complete par_round_robin_blocks 8 par_shard_a ### --shard par_shard_a OK par_shard_a OK par_shard_a OK par_shard_a OK par_shard_a OK par_shard_a 10 1 par_shard_a 10 2 par_shard_a 10 3 par_shard_a 10 4 par_shard_a 10 5 par_shard_a 10 6 par_shard_a 10 7 par_shard_a 10 8 par_shard_a 10 9 par_shard_a 9 0 par_shard_a 9 1 par_shard_a 9 2 par_shard_a 9 3 par_shard_a 9 4 par_shard_a 9 5 par_shard_a 9 6 par_shard_a 9 7 par_shard_a 9 8 par_shard_a 9 9 par_shard_b ### --shard par_shard_b 10 1 par_shard_b 10 2 par_shard_b 10 3 par_shard_b 10 4 par_shard_b 10 5 par_shard_b 10 6 par_shard_b 10 7 par_shard_b 10 8 par_shard_b 10 9 par_shard_b 9 0 par_shard_b 9 1 par_shard_b 9 2 par_shard_b 9 3 par_shard_b 9 4 par_shard_b 9 5 par_shard_b 9 6 par_shard_b 9 7 par_shard_b 9 8 par_shard_b 9 9 par_shard_c ### --shard par_shard_c 10 1 par_shard_c 10 2 par_shard_c 10 3 par_shard_c 10 4 par_shard_c 10 5 par_shard_c 10 6 par_shard_c 10 7 par_shard_c 10 8 par_shard_c 10 9 par_shard_c 2 c1 par_shard_c 9 0 par_shard_c 9 1 par_shard_c 9 2 par_shard_c 9 3 par_shard_c 9 4 par_shard_c 9 5 par_shard_c 9 6 par_shard_c 9 7 par_shard_c 9 8 par_shard_c 9 9 par_shard_c 2 c2 par_shard_d 10 1 par_shard_d 10 2 par_shard_d 10 3 par_shard_d 10 4 par_shard_d 10 5 par_shard_d 10 6 par_shard_d 10 7 par_shard_d 10 8 par_shard_d 10 9 par_shard_d 2 c1 par_shard_d 9 0 par_shard_d 9 1 par_shard_d 9 2 par_shard_d 9 3 par_shard_d 9 4 par_shard_d 9 5 par_shard_d 9 6 par_shard_d 9 7 par_shard_d 9 8 par_shard_d 9 9 par_shard_d 2 c2 par_shard_d *** broken par_shard_d parallel: Error: --shard requires --jobs to be higher than the number of par_shard_d parallel: Error: arguments. Increase --jobs. par_sighup ### Test SIGHUP par_sighup 1 par_sighup 10 par_sighup 2 par_sighup 3 par_sighup 4 par_sighup 5 par_sighup 6 par_sighup 7 par_sighup 8 par_sighup 9 par_sighup parallel: SIGHUP received. No new jobs will be started. par_sighup parallel: Waiting for these 5 jobs to finish. Send SIGTERM to stop now. par_sighup parallel: sleep 15; echo 10 par_sighup parallel: sleep 15; echo 6 par_sighup parallel: sleep 15; echo 7 par_sighup parallel: sleep 15; echo 8 par_sighup parallel: sleep 15; echo 9 par_slow_total_jobs bug #51006: Slow total_jobs() eats job par_slow_total_jobs a par_slow_total_jobs b par_slow_total_jobs 1 par_slow_total_jobs 2 par_slow_total_jobs parallel: Warning: Reading X arguments took longer than XX seconds. par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running par_test_detected_shell test_unknown_shell ash Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell bash Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell csh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell dash Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell fish Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell fizsh Global::shell /usr/bin/zsh par_test_detected_shell test_unknown_shell ksh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell ksh93 Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell mksh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell posh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell rbash Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell rzsh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell sash Global::shell /usr/bin/sh par_test_detected_shell test_unknown_shell sh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell tcsh Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell yash Global::shell /usr/bin/bash par_test_detected_shell test_unknown_shell zsh Global::shell /usr/bin/bash par_test_detected_shell test_known_shell_c ash Global::shell /usr/bin/ash par_test_detected_shell test_known_shell_c bash Global::shell /usr/bin/bash par_test_detected_shell test_known_shell_c csh Global::shell /usr/bin/csh par_test_detected_shell test_known_shell_c dash Global::shell /usr/bin/dash par_test_detected_shell test_known_shell_c fish Global::shell /usr/bin/fish par_test_detected_shell test_known_shell_c fizsh Global::shell /usr/bin/zsh par_test_detected_shell test_known_shell_c ksh Global::shell /usr/bin/ksh par_test_detected_shell test_known_shell_c ksh93 Global::shell /usr/bin/ksh93 par_test_detected_shell test_known_shell_c mksh Global::shell /usr/bin/mksh par_test_detected_shell test_known_shell_c posh Global::shell /usr/bin/posh par_test_detected_shell test_known_shell_c rbash Global::shell /usr/bin/rbash par_test_detected_shell test_known_shell_c rzsh Global::shell /usr/bin/rzsh par_test_detected_shell test_known_shell_c sash Global::shell /usr/bin/sh par_test_detected_shell test_known_shell_c sh Global::shell /usr/bin/sh par_test_detected_shell test_known_shell_c static-sh Global::shell /usr/bin/static-sh par_test_detected_shell test_known_shell_c tcsh Global::shell /usr/bin/tcsh par_test_detected_shell test_known_shell_c yash Global::shell /usr/bin/yash par_test_detected_shell test_known_shell_c zsh Global::shell /usr/bin/zsh par_test_detected_shell test_known_shell_pipe ash Global::shell /usr/bin/ash par_test_detected_shell test_known_shell_pipe bash Global::shell /usr/bin/bash par_test_detected_shell test_known_shell_pipe csh Global::shell /usr/bin/csh par_test_detected_shell test_known_shell_pipe dash Global::shell /usr/bin/dash par_test_detected_shell test_known_shell_pipe fish Global::shell /usr/bin/fish par_test_detected_shell test_known_shell_pipe fizsh Global::shell /usr/bin/fizsh par_test_detected_shell test_known_shell_pipe ksh Global::shell /usr/bin/ksh par_test_detected_shell test_known_shell_pipe ksh93 Global::shell /usr/bin/ksh93 par_test_detected_shell test_known_shell_pipe mksh Global::shell /usr/bin/mksh par_test_detected_shell test_known_shell_pipe posh Global::shell /usr/bin/posh par_test_detected_shell test_known_shell_pipe rbash Global::shell /usr/bin/rbash par_test_detected_shell test_known_shell_pipe rzsh Global::shell /usr/bin/rzsh par_test_detected_shell test_known_shell_pipe sash Global::shell /usr/bin/sh par_test_detected_shell test_known_shell_pipe sh Global::shell /usr/bin/sh par_test_detected_shell test_known_shell_pipe static-sh Global::shell /usr/bin/static-sh par_test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh par_test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash par_test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh par_test_diff_roundrobin_k ### test there is difference on -k par_test_diff_roundrobin_k OK