mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 20:57:53 +00:00
parallel: --pipepart --groupby implemented.
This commit is contained in:
parent
aa62104eb5
commit
c25ae9cc87
92
src/parallel
92
src/parallel
|
@ -588,12 +588,12 @@ sub split_positions_for_group_by($$$$) {
|
|||
if(defined $_) {
|
||||
# Not end of file
|
||||
my @F;
|
||||
if(defined $Global::group_by_column) {
|
||||
if(defined $group_by::col) {
|
||||
$opt::colsep ||= "\t";
|
||||
@F = split /$opt::colsep/, $_;
|
||||
$_ = $F[$Global::group_by_column];
|
||||
$_ = $F[$group_by::col];
|
||||
}
|
||||
eval $Global::group_by_perlexpr;
|
||||
eval $group_by::perlexpr;
|
||||
}
|
||||
return ($_,$linepos);
|
||||
}
|
||||
|
@ -641,7 +641,7 @@ sub split_positions_for_group_by($$$$) {
|
|||
my @pos;
|
||||
$fh = open_or_exit($file);
|
||||
# Set $Global::group_by_column $Global::group_by_perlexpr
|
||||
group_by_loop($opt::recsep);
|
||||
group_by_loop($fh,$opt::recsep);
|
||||
# $xpos = linestart, $x = value at $xpos, $apos < $bpos < $cpos
|
||||
$apos = length $header;
|
||||
for(($a,$apos) = value_at($apos); $apos < $size;) {
|
||||
|
@ -718,45 +718,67 @@ sub cat_partial($@) {
|
|||
" perl -e '$script' @start_len |";
|
||||
}
|
||||
|
||||
sub group_by_loop($) {
|
||||
# Generate perl code for group-by loop
|
||||
# Insert a $recsep when the column value changes
|
||||
# The column value can be computed with $perexpr
|
||||
my($recsep) = @_;
|
||||
my $groupby = $opt::groupby;
|
||||
my ($col,$perlexpr);
|
||||
if($groupby =~ /^[a-z0-9_]+(\s|$)/i) {
|
||||
sub column_perlexpr($$$) {
|
||||
# Compute the column number (if any), perlexpression from combined
|
||||
# string (such as --shard key, --groupby key, {=n perlexpr=}
|
||||
# Input:
|
||||
# $column_perlexpr = string with column and perl expression
|
||||
# $header = header from input file (if column is column name)
|
||||
# $colsep = column separator regexp
|
||||
# Returns:
|
||||
# $col = column number
|
||||
# $perlexpr = perl expression
|
||||
# $subref = compiled perl expression as sub reference
|
||||
my ($column_perlexpr, $header, $colsep) = @_;
|
||||
my ($col, $perlexpr, $subref);
|
||||
if($column_perlexpr =~ /^[-a-z0-9_]+(\s|$)/i) {
|
||||
# Column name/number (possibly prefix)
|
||||
if($groupby =~ s/^(\d+)\s*//) {
|
||||
if($column_perlexpr =~ s/^(-?\d+)(\s|$)//) {
|
||||
# Column number (possibly prefix)
|
||||
$col = $1-1;
|
||||
} elsif($groupby =~ s/^([a-z0-9_]+)\s*//i) {
|
||||
$col = $1;
|
||||
} elsif($column_perlexpr =~ s/^([a-z0-9_]+)(\s+|$)//i) {
|
||||
# Column name (possibly prefix)
|
||||
my $colname = $1;
|
||||
my($read,$char,@line,$header);
|
||||
# A full line, but nothing more (the rest must be read by the child)
|
||||
do {
|
||||
$read = sysread(STDIN,$char,1);
|
||||
push @line, $char;
|
||||
} while($read and $char ne "\n");
|
||||
# $Global::header used to prepend block to each job
|
||||
$Global::header = join "", @line;
|
||||
# Split on --copsep pattern
|
||||
my @headers = split/$opt::colsep/, $Global::header;
|
||||
my @headers = split /$colsep/, $header;
|
||||
my %headers;
|
||||
# Numbered 0..n-1 due to being used by $F[n]
|
||||
@headers{@headers} = (0..$#headers);
|
||||
@headers{@headers} = (1..($#headers+1));
|
||||
$col = $headers{$colname};
|
||||
if(not defined $col) {
|
||||
::error("Column '$colname' $opt::colsep not found in header",keys %headers);
|
||||
::error("Column '$colname' $colsep not found in header",keys %headers);
|
||||
::wait_and_exit(255);
|
||||
}
|
||||
}
|
||||
}
|
||||
# What is left of $groupby is $perlexpr
|
||||
$perlexpr = $groupby;
|
||||
$Global::group_by_perlexpr = $perlexpr;
|
||||
$Global::group_by_column = $col;
|
||||
# What is left of $column_perlexpr is $perlexpr (possibly empty)
|
||||
$perlexpr = $column_perlexpr;
|
||||
$subref = eval("sub { no strict; no warnings; $perlexpr }");
|
||||
return($col, $perlexpr, $subref);
|
||||
}
|
||||
|
||||
sub group_by_loop($$) {
|
||||
# Generate perl code for group-by loop
|
||||
# Insert a $recsep when the column value changes
|
||||
# The column value can be computed with $perexpr
|
||||
my($fh,$recsep) = @_;
|
||||
my $groupby = $opt::groupby;
|
||||
if($groupby =~ /^[a-z_][a-z_0-9]*(\s|$)/i) {
|
||||
# Group by column name
|
||||
# (Yes, this will also wrongly match a perlexpr like: chop)
|
||||
my($read,$char,@line);
|
||||
# A full line, but nothing more (the rest must be read by the child)
|
||||
# $Global::header used to prepend block to each job
|
||||
do {
|
||||
$read = sysread($fh,$char,1);
|
||||
push @line, $char;
|
||||
} while($read and $char ne "\n");
|
||||
$Global::header = join "", @line;
|
||||
}
|
||||
$opt::colsep ||= "\t";
|
||||
($group_by::col, $group_by::perlexpr, $group_by::subref) =
|
||||
column_perlexpr($groupby, $Global::header, $opt::colsep);
|
||||
# Numbered 0..n-1 due to being used by $F[n]
|
||||
if($group_by::col) { $group_by::col--; }
|
||||
|
||||
my $loop = ::spacefree(0,'{
|
||||
local $_=COLVALUE;
|
||||
|
@ -768,12 +790,12 @@ sub group_by_loop($) {
|
|||
}
|
||||
}');
|
||||
|
||||
if(defined $col) {
|
||||
$loop =~ s/COLVALUE/\$F[$col]/g;
|
||||
if(defined $group_by::col) {
|
||||
$loop =~ s/COLVALUE/\$F[$group_by::col]/g;
|
||||
} else {
|
||||
$loop =~ s/COLVALUE/\$_/g;
|
||||
}
|
||||
$loop =~ s/PERLEXPR/$perlexpr/g;
|
||||
$loop =~ s/PERLEXPR/$group_by::perlexpr/g;
|
||||
$loop =~ s/RECSEP/$recsep/g;
|
||||
return $loop;
|
||||
}
|
||||
|
@ -797,7 +819,7 @@ sub group_by_stdin_filter() {
|
|||
push @filter, "-F$sep";
|
||||
}
|
||||
push @filter, "-pe";
|
||||
push @filter, group_by_loop($opt::recstart);
|
||||
push @filter, group_by_loop(*STDIN,$opt::recstart);
|
||||
::debug("init", "@filter\n");
|
||||
open(STDIN, '-|', @filter) || die ("Cannot start @filter");
|
||||
}
|
||||
|
|
|
@ -2155,18 +2155,18 @@ Only supported in B<Ash, Bash, Dash, Ksh, Sh, and Zsh>.
|
|||
See also B<--env>, B<--record-env>.
|
||||
|
||||
|
||||
=item B<--shard> I<shardkey> (beta testing)
|
||||
=item B<--shard> I<shardcol> (beta testing)
|
||||
|
||||
Use column I<shardkey> as shard key and shard input to the jobs.
|
||||
Use column I<shardcol> as shard key and shard input to the jobs.
|
||||
|
||||
Each input line is split using B<--colsep>. The value in the
|
||||
I<shardkey> column is hashed so that all lines of a given value is
|
||||
I<shardcol> column is hashed so that all lines of a given value is
|
||||
given to the same job slot.
|
||||
|
||||
This is similar to sharding in databases.
|
||||
|
||||
The performance is in the order of 100K rows per second. Faster if the
|
||||
I<shardkey> is small (<10), slower if it is big (>100).
|
||||
I<shardcol> is small (<10), slower if it is big (>100).
|
||||
|
||||
B<--shard> requires B<--pipe> and a fixed numeric value for B<--jobs>.
|
||||
|
||||
|
@ -2970,6 +2970,14 @@ Find the files in a list that do not exist
|
|||
cat file_list | parallel 'if [ ! -e {} ] ; then echo {}; fi'
|
||||
|
||||
|
||||
=head1 EXAMPLE: Composed command with perl replacement string
|
||||
|
||||
You have a bunch of file. You want them sorted into dirs. The dir of
|
||||
each file should be named the first letter of the file name.
|
||||
|
||||
parallel 'mkdir -p {=s/(.).*/$1/=}; mv {} {=s/(.).*/$1/=}' ::: *
|
||||
|
||||
|
||||
=head1 EXAMPLE: Composed command with multiple input sources
|
||||
|
||||
You have a dir with files named as 24 hours in 5 minute intervals:
|
||||
|
|
|
@ -679,7 +679,7 @@ par_pipe_N1_regexp() {
|
|||
|
||||
par_sem_quote() {
|
||||
echo '### sem --quote should not add empty argument'
|
||||
sem --fg --quote -v echo
|
||||
sem --id sem_quote --fg --quote -v echo
|
||||
}
|
||||
|
||||
par_halt_on_error_division_by_zero() {
|
||||
|
|
|
@ -453,6 +453,49 @@ par_groupby() {
|
|||
# Test --colsep --header : (OK: --header : not needed)
|
||||
}
|
||||
|
||||
par_groupby_pipepart() {
|
||||
tsv() {
|
||||
printf "%s\t" a1 b1 c1 d1 e1 f1; echo
|
||||
seq 100000 999999 | perl -pe '$_=join"\t",split//' |
|
||||
sort --parallel=8 --buffer-size=50% -rk3
|
||||
}
|
||||
export -f tsv
|
||||
|
||||
ssv() {
|
||||
# space separated
|
||||
tsv | perl -pe '@sep=("\t"," "); s/\t/$sep[rand(2)]/ge;'
|
||||
}
|
||||
export -f ssv
|
||||
|
||||
cssv() {
|
||||
# , + space separated
|
||||
tsv | perl -pe '@sep=("\t"," ",","); s/\t/$sep[rand(2)].$sep[rand(2)]/ge;'
|
||||
}
|
||||
export -f cssv
|
||||
|
||||
csv() {
|
||||
# , separated
|
||||
tsv | perl -pe 's/\t/,/g;'
|
||||
}
|
||||
export -f csv
|
||||
|
||||
tester() {
|
||||
generator="$1"
|
||||
colsep="$2"
|
||||
groupby="$3"
|
||||
tmp=`tempfile`
|
||||
|
||||
echo "### test $generator | --colsep $colsep --groupby $groupby"
|
||||
$generator > $tmp
|
||||
parallel --pipepart -a $tmp --colsep "$colsep" --groupby "$groupby" -k 'echo NewRec; wc'
|
||||
}
|
||||
export -f tester
|
||||
parallel --tag -k tester \
|
||||
::: tsv ssv cssv csv \
|
||||
:::+ '\t' '\s+' '[\s,]+' ',' \
|
||||
::: '3 $_%=2' 3 c1 'c1 $_%=2' 's/^(\d+[\t ,]+){2}(\d+).*/$2/'
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||
parallel -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'
|
||||
|
|
|
@ -162,7 +162,7 @@ echo '### Test {#.}'
|
|||
$XAP -kv -a <(echo a-noext) -a <(echo b-withext.extension) -a <(echo c-ext.gif) echo {3.} {2.} {1.}
|
||||
|
||||
echo "### Tests that failed for OO-rewrite"
|
||||
parallel -u --semaphore seq 1 10 '|' pv -qL 20; sem --wait; echo done
|
||||
parallel -u --semaphore --id local9 seq 1 10 '|' pv -qL 20; sem --id local9 --wait; echo done
|
||||
echo a | parallel echo {1}
|
||||
echo "echo a" | parallel
|
||||
nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1
|
||||
|
|
|
@ -647,6 +647,450 @@ par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer tha
|
|||
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_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 1 6 19
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t 3 $_%=2 90000 540000 1170000
|
||||
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 1 6 19
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t 3 NewRec
|
||||
par_groupby_pipepart tsv \t 3 90000 540000 1170000
|
||||
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 1170019
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 NewRec
|
||||
par_groupby_pipepart tsv \t c1 90000 540000 1170000
|
||||
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 1170019
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 NewRec
|
||||
par_groupby_pipepart tsv \t c1 $_%=2 90000 540000 1170000
|
||||
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/ 1 6 19
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart tsv \t s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
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 1 6 19
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 $_%=2 90000 540000 1170000
|
||||
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 1 6 19
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ 3 NewRec
|
||||
par_groupby_pipepart ssv \s+ 3 90000 540000 1170000
|
||||
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 1170019
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 90000 540000 1170000
|
||||
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 1170019
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart ssv \s+ c1 $_%=2 90000 540000 1170000
|
||||
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/ 1 6 19
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart ssv \s+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1170000
|
||||
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 1 6 25
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 $_%=2 90000 540000 1710000
|
||||
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 1 6 25
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ 3 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ 3 90000 540000 1710000
|
||||
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 1710025
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 90000 540000 1710000
|
||||
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 1710025
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ c1 $_%=2 90000 540000 1710000
|
||||
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/ 1 6 25
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart cssv [\s,]+ s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 540000 1710000
|
||||
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 1 1 19
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , 3 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 ### test csv | --colsep , --groupby 3
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 1 1 19
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , 3 NewRec
|
||||
par_groupby_pipepart csv , 3 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 ### test csv | --colsep , --groupby c1
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90001 90001 1170019
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 NewRec
|
||||
par_groupby_pipepart csv , c1 90000 90000 1170000
|
||||
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 1170019
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
par_groupby_pipepart csv , c1 $_%=2 NewRec
|
||||
par_groupby_pipepart csv , c1 $_%=2 90000 90000 1170000
|
||||
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/ 1 1 19
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
|
||||
par_groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90000 90000 1170000
|
||||
par_jobslot_repl bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken
|
||||
par_jobslot_repl 1
|
||||
par_jobslot_repl 2
|
||||
|
|
|
@ -369,7 +369,7 @@ echo c-ext b-withext a-noext
|
|||
c-ext b-withext a-noext
|
||||
echo "### Tests that failed for OO-rewrite"
|
||||
### Tests that failed for OO-rewrite
|
||||
parallel -u --semaphore seq 1 10 '|' pv -qL 20; sem --wait; echo done
|
||||
parallel -u --semaphore --id local9 seq 1 10 '|' pv -qL 20; sem --id local9 --wait; echo done
|
||||
1
|
||||
2
|
||||
3
|
||||
|
|
|
@ -38,6 +38,7 @@ bin/parallel netbsd copy netbsd bin/parallel parallel
|
|||
bin/parallel openbsd copy openbsd bin/parallel parallel
|
||||
bin/parallel freebsd copy freebsd bin/parallel parallel
|
||||
bin/parallel debian copy debian bin/parallel parallel
|
||||
bin/parallel hurd copy hurd bin/parallel parallel
|
||||
bin/parallel minix copy minix bin/parallel parallel
|
||||
bin/env_parallel qnx copy qnx bin/env_parallel env_parallel
|
||||
bin/env_parallel pidora copy pidora bin/env_parallel env_parallel
|
||||
|
@ -63,6 +64,7 @@ bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel
|
|||
bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel
|
||||
bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel
|
||||
bin/env_parallel debian copy debian bin/env_parallel env_parallel
|
||||
bin/env_parallel hurd copy hurd bin/env_parallel env_parallel
|
||||
bin/env_parallel minix copy minix bin/env_parallel env_parallel
|
||||
bin/env_parallel.ash qnx copy qnx bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash pidora copy pidora bin/env_parallel.ash env_parallel.ash
|
||||
|
@ -88,6 +90,7 @@ bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash
|
|||
bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.bash qnx copy qnx bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash pidora copy pidora bin/env_parallel.bash env_parallel.bash
|
||||
|
@ -113,6 +116,7 @@ bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash
|
|||
bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.csh qnx copy qnx bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh pidora copy pidora bin/env_parallel.csh env_parallel.csh
|
||||
|
@ -138,6 +142,7 @@ bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh
|
|||
bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.dash qnx copy qnx bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash pidora copy pidora bin/env_parallel.dash env_parallel.dash
|
||||
|
@ -163,6 +168,7 @@ bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash
|
|||
bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash debian copy debian bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish
|
||||
|
@ -188,6 +194,7 @@ bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish
|
|||
bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.ksh qnx copy qnx bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh pidora copy pidora bin/env_parallel.ksh env_parallel.ksh
|
||||
|
@ -213,6 +220,7 @@ bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh
|
|||
bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.mksh qnx copy qnx bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh pidora copy pidora bin/env_parallel.mksh env_parallel.mksh
|
||||
|
@ -238,6 +246,7 @@ bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh
|
|||
bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.pdksh qnx copy qnx bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh pidora copy pidora bin/env_parallel.pdksh env_parallel.pdksh
|
||||
|
@ -263,6 +272,7 @@ bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pd
|
|||
bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.sh qnx copy qnx bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh pidora copy pidora bin/env_parallel.sh env_parallel.sh
|
||||
|
@ -288,6 +298,7 @@ bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh
|
|||
bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.tcsh qnx copy qnx bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh pidora copy pidora bin/env_parallel.tcsh env_parallel.tcsh
|
||||
|
@ -313,6 +324,7 @@ bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh
|
|||
bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.zsh qnx copy qnx bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh pidora copy pidora bin/env_parallel.zsh env_parallel.zsh
|
||||
|
@ -338,6 +350,7 @@ bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh
|
|||
bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/parcat qnx copy qnx bin/parcat parcat
|
||||
bin/parcat pidora copy pidora bin/parcat parcat
|
||||
|
@ -363,6 +376,7 @@ bin/parcat netbsd copy netbsd bin/parcat parcat
|
|||
bin/parcat openbsd copy openbsd bin/parcat parcat
|
||||
bin/parcat freebsd copy freebsd bin/parcat parcat
|
||||
bin/parcat debian copy debian bin/parcat parcat
|
||||
bin/parcat hurd copy hurd bin/parcat parcat
|
||||
bin/parcat minix copy minix bin/parcat parcat
|
||||
Done copying
|
||||
|
||||
|
|
Loading…
Reference in a new issue