mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 05:57:54 +00:00
parallel: Re-fixed bug #37042: -J foo is taken from the whole command line - not just the part before the command
This commit is contained in:
parent
ea151d0837
commit
c1f6354375
|
@ -1,17 +1,9 @@
|
||||||
Aliases for bash -c:
|
|
||||||
|
|
||||||
bash -c 'shopt -s expand_aliases; alias llll="ls -l"; alias bbb=ls;
|
|
||||||
bbb; llll'
|
|
||||||
|
|
||||||
|
|
||||||
Luk filen ved EOF - lad være med bare at læse videre.
|
Luk filen ved EOF - lad være med bare at læse videre.
|
||||||
|
|
||||||
> /tmp/ged; tail -f /tmp/ged| xargs -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait
|
> /tmp/ged; tail -f /tmp/ged| xargs -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait
|
||||||
|
|
||||||
> /tmp/ged; tail -f /tmp/ged| parallel -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait
|
> /tmp/ged; tail -f /tmp/ged| parallel -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait
|
||||||
|
|
||||||
--timeout auto: If a jobs takes > 3*moving average runtime then kill it. Only after job 3.
|
|
||||||
|
|
||||||
niceload seeks last column:
|
niceload seeks last column:
|
||||||
|
|
||||||
iostat -x 1 2
|
iostat -x 1 2
|
||||||
|
@ -59,8 +51,8 @@ locate .gz | parallel -X find {} -size +1000 -size -2000 | parallel --workdir ..
|
||||||
|
|
||||||
== Compare ==
|
== Compare ==
|
||||||
|
|
||||||
http://code.google.com/p/spawntool/
|
Unchanged since 2008 http://code.google.com/p/spawntool/
|
||||||
http://code.google.com/p/push/
|
Unchanged since 2011 http://code.google.com/p/push/
|
||||||
|
|
||||||
== Bug? ==
|
== Bug? ==
|
||||||
|
|
||||||
|
@ -106,8 +98,6 @@ for potentiel:
|
||||||
|
|
||||||
colsep = [sepchars]{no_of_sepchars}
|
colsep = [sepchars]{no_of_sepchars}
|
||||||
|
|
||||||
|
|
||||||
# TODO max_line_length on remote
|
|
||||||
# TODO compute how many can be transferred within max_line_length
|
# TODO compute how many can be transferred within max_line_length
|
||||||
|
|
||||||
Til inspiration.
|
Til inspiration.
|
||||||
|
|
|
@ -204,6 +204,17 @@ Very few changes so this can be considered a stable release.
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
|
* GNU Parallel was used (unfortunately with improper citation) in:
|
||||||
|
Understanding the Impact of E-Commerce Software on the Adoption of Structured Data on the Web
|
||||||
|
http://link.springer.com/chapter/10.1007/978-3-642-38366-3_9#page-1
|
||||||
|
|
||||||
|
* GNU Parallel was used (unfortunately with improper citation) in:
|
||||||
|
CWI at TREC 2012, KBA track and Session Track
|
||||||
|
http://trec.nist.gov/pubs/trec21/papers/CWI.kba.session.final.pdf
|
||||||
|
|
||||||
|
* Mitigation of Adverse Effects Caused by Shock Wave Boundary Layer Interactions through Optimal Wall Shaping
|
||||||
|
http://arc.aiaa.org/doi/abs/10.2514/6.2013-2653
|
||||||
|
|
||||||
* http://www.brunokim.com.br/blog/?p=18
|
* http://www.brunokim.com.br/blog/?p=18
|
||||||
|
|
||||||
* http://www.open-open.com/news/view/371301
|
* http://www.open-open.com/news/view/371301
|
||||||
|
|
67
src/parallel
67
src/parallel
|
@ -643,6 +643,7 @@ sub get_options_from_array {
|
||||||
# false if parsing failed
|
# false if parsing failed
|
||||||
# @array is changed
|
# @array is changed
|
||||||
my $array_ref = shift;
|
my $array_ref = shift;
|
||||||
|
my @keep_only = @_;
|
||||||
# A bit of shuffling of @ARGV needed as GetOptionsFromArray is not
|
# A bit of shuffling of @ARGV needed as GetOptionsFromArray is not
|
||||||
# supported everywhere
|
# supported everywhere
|
||||||
my @save_argv;
|
my @save_argv;
|
||||||
|
@ -651,7 +652,17 @@ sub get_options_from_array {
|
||||||
@save_argv = @::ARGV;
|
@save_argv = @::ARGV;
|
||||||
@::ARGV = @{$array_ref};
|
@::ARGV = @{$array_ref};
|
||||||
}
|
}
|
||||||
my @retval = GetOptions(options_hash());
|
# If @keep_only set: Ignore all values except @keep_only
|
||||||
|
my %options = options_hash();
|
||||||
|
if(@keep_only) {
|
||||||
|
my (%keep,@dummy);
|
||||||
|
@keep{@keep_only} = @keep_only;
|
||||||
|
for my $k (grep { not $keep{$_} } keys %options) {
|
||||||
|
# Store the value of the option in @dummy
|
||||||
|
$options{$k} = \@dummy;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
my @retval = GetOptions(%options);
|
||||||
if(not $this_is_ARGV) {
|
if(not $this_is_ARGV) {
|
||||||
@{$array_ref} = @::ARGV;
|
@{$array_ref} = @::ARGV;
|
||||||
@::ARGV = @save_argv;
|
@::ARGV = @save_argv;
|
||||||
|
@ -1035,7 +1046,7 @@ sub read_options {
|
||||||
Getopt::Long::Configure("bundling","require_order");
|
Getopt::Long::Configure("bundling","require_order");
|
||||||
my @ARGV_copy = @ARGV;
|
my @ARGV_copy = @ARGV;
|
||||||
# Check if there is a --profile to set @opt::profile
|
# Check if there is a --profile to set @opt::profile
|
||||||
get_options_from_array(\@ARGV_copy) || die_usage();
|
get_options_from_array(\@ARGV_copy,"profile|J=s","plain") || die_usage();
|
||||||
my @ARGV_profile = ();
|
my @ARGV_profile = ();
|
||||||
my @ARGV_env = ();
|
my @ARGV_env = ();
|
||||||
if(not $opt::plain) {
|
if(not $opt::plain) {
|
||||||
|
@ -2192,32 +2203,44 @@ sub now {
|
||||||
|
|
||||||
sub multiply_binary_prefix {
|
sub multiply_binary_prefix {
|
||||||
# Evalualte numbers with binary prefix
|
# Evalualte numbers with binary prefix
|
||||||
# k=10^3, m=10^6, g=10^9, t=10^12, p=10^15, e=10^18, z=10^21, y=10^24
|
|
||||||
# K=2^10, M=2^20, G=2^30, T=2^40, P=2^50, E=2^70, Z=2^80, Y=2^80
|
|
||||||
# Ki=2^10, Mi=2^20, Gi=2^30, Ti=2^40, Pi=2^50, Ei=2^70, Zi=2^80, Yi=2^80
|
# Ki=2^10, Mi=2^20, Gi=2^30, Ti=2^40, Pi=2^50, Ei=2^70, Zi=2^80, Yi=2^80
|
||||||
# ki=2^10, mi=2^20, gi=2^30, ti=2^40, pi=2^50, ei=2^70, zi=2^80, yi=2^80
|
# ki=2^10, mi=2^20, gi=2^30, ti=2^40, pi=2^50, ei=2^70, zi=2^80, yi=2^80
|
||||||
|
# K =2^10, M =2^20, G =2^30, T =2^40, P =2^50, E =2^70, Z =2^80, Y =2^80
|
||||||
|
# k =10^3, m =10^6, g =10^9, t=10^12, p=10^15, e=10^18, z=10^21, y=10^24
|
||||||
# 13G = 13*1024*1024*1024 = 13958643712
|
# 13G = 13*1024*1024*1024 = 13958643712
|
||||||
my $s = shift;
|
my $s = shift;
|
||||||
$s =~ s/k/*1000/g;
|
$s =~ s/ki/*1024/gi;
|
||||||
$s =~ s/M/*1000*1000/g;
|
$s =~ s/mi/*1024*1024/gi;
|
||||||
$s =~ s/G/*1000*1000*1000/g;
|
$s =~ s/gi/*1024*1024*1024/gi;
|
||||||
$s =~ s/T/*1000*1000*1000*1000/g;
|
$s =~ s/ti/*1024*1024*1024*1024/gi;
|
||||||
$s =~ s/P/*1000*1000*1000*1000*1000/g;
|
$s =~ s/pi/*1024*1024*1024*1024*1024/gi;
|
||||||
$s =~ s/E/*1000*1000*1000*1000*1000*1000/g;
|
$s =~ s/ei/*1024*1024*1024*1024*1024*1024/gi;
|
||||||
$s =~ s/Z/*1000*1000*1000*1000*1000*1000*1000/g;
|
$s =~ s/zi/*1024*1024*1024*1024*1024*1024*1024/gi;
|
||||||
$s =~ s/Y/*1000*1000*1000*1000*1000*1000*1000*1000/g;
|
$s =~ s/yi/*1024*1024*1024*1024*1024*1024*1024*1024/gi;
|
||||||
$s =~ s/X/*1000*1000*1000*1000*1000*1000*1000*1000*1000/g;
|
$s =~ s/xi/*1024*1024*1024*1024*1024*1024*1024*1024*1024/gi;
|
||||||
|
|
||||||
|
$s =~ s/K/*1024/g;
|
||||||
|
$s =~ s/M/*1024*1024/g;
|
||||||
|
$s =~ s/G/*1024*1024*1024/g;
|
||||||
|
$s =~ s/T/*1024*1024*1024*1024/g;
|
||||||
|
$s =~ s/P/*1024*1024*1024*1024*1024/g;
|
||||||
|
$s =~ s/E/*1024*1024*1024*1024*1024*1024/g;
|
||||||
|
$s =~ s/Z/*1024*1024*1024*1024*1024*1024*1024/g;
|
||||||
|
$s =~ s/Y/*1024*1024*1024*1024*1024*1024*1024*1024/g;
|
||||||
|
$s =~ s/X/*1024*1024*1024*1024*1024*1024*1024*1024*1024/g;
|
||||||
|
|
||||||
|
$s =~ s/k/*1000/g;
|
||||||
|
$s =~ s/m/*1000*1000/g;
|
||||||
|
$s =~ s/g/*1000*1000*1000/g;
|
||||||
|
$s =~ s/t/*1000*1000*1000*1000/g;
|
||||||
|
$s =~ s/p/*1000*1000*1000*1000*1000/g;
|
||||||
|
$s =~ s/e/*1000*1000*1000*1000*1000*1000/g;
|
||||||
|
$s =~ s/z/*1000*1000*1000*1000*1000*1000*1000/g;
|
||||||
|
$s =~ s/y/*1000*1000*1000*1000*1000*1000*1000*1000/g;
|
||||||
|
$s =~ s/x/*1000*1000*1000*1000*1000*1000*1000*1000*1000/g;
|
||||||
|
|
||||||
$s =~ s/Ki?/*1024/gi;
|
|
||||||
$s =~ s/Mi?/*1024*1024/gi;
|
|
||||||
$s =~ s/Gi?/*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Ti?/*1024*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Pi?/*1024*1024*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Ei?/*1024*1024*1024*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Zi?/*1024*1024*1024*1024*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Yi?/*1024*1024*1024*1024*1024*1024*1024*1024/gi;
|
|
||||||
$s =~ s/Xi?/*1024*1024*1024*1024*1024*1024*1024*1024*1024/gi;
|
|
||||||
$s = eval $s;
|
$s = eval $s;
|
||||||
|
::debug($s);
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2616,7 +2616,8 @@ B<perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' file>
|
||||||
|
|
||||||
It needs to be quoted like this:
|
It needs to be quoted like this:
|
||||||
|
|
||||||
B<ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'>
|
B<ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'>
|
||||||
|
B<ls | parallel perl -ne \''/^\S+\s+\S+$/ and print $ARGV,"\n"'\'>
|
||||||
|
|
||||||
Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU B<parallel>
|
Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU B<parallel>
|
||||||
can do the quoting by using option -q:
|
can do the quoting by using option -q:
|
||||||
|
@ -2651,8 +2652,8 @@ Or for substituting output:
|
||||||
B<ls | parallel -q bash -c 'tar c {} | tee >>B<(gzip >>B<{}.tar.gz) | bzip2 >>B<{}.tar.bz2'>
|
B<ls | parallel -q bash -c 'tar c {} | tee >>B<(gzip >>B<{}.tar.gz) | bzip2 >>B<{}.tar.bz2'>
|
||||||
|
|
||||||
B<Conclusion>: To avoid dealing with the quoting problems it may be
|
B<Conclusion>: To avoid dealing with the quoting problems it may be
|
||||||
easier just to write a small script and have GNU B<parallel> call that
|
easier just to write a small script or a function (remember to
|
||||||
script.
|
B<export -f> the function) and have GNU B<parallel> call that.
|
||||||
|
|
||||||
|
|
||||||
=head1 LIST RUNNING JOBS
|
=head1 LIST RUNNING JOBS
|
||||||
|
|
|
@ -2820,7 +2820,8 @@ This is particularly useful if you have lots of quoting. If you want to run a pe
|
||||||
|
|
||||||
It needs to be quoted like this:
|
It needs to be quoted like this:
|
||||||
|
|
||||||
@strong{ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'}
|
@strong{ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'}
|
||||||
|
@strong{ls | parallel perl -ne \''/^\S+\s+\S+$/ and print $ARGV,"\n"'\'}
|
||||||
|
|
||||||
Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU @strong{parallel}
|
Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU @strong{parallel}
|
||||||
can do the quoting by using option -q:
|
can do the quoting by using option -q:
|
||||||
|
@ -2857,8 +2858,8 @@ Or for substituting output:
|
||||||
@strong{ls | parallel -q bash -c 'tar c @{@} | tee }>@strong{(gzip }>@strong{@{@}.tar.gz) | bzip2 }>@strong{@{@}.tar.bz2'}
|
@strong{ls | parallel -q bash -c 'tar c @{@} | tee }>@strong{(gzip }>@strong{@{@}.tar.gz) | bzip2 }>@strong{@{@}.tar.bz2'}
|
||||||
|
|
||||||
@strong{Conclusion}: To avoid dealing with the quoting problems it may be
|
@strong{Conclusion}: To avoid dealing with the quoting problems it may be
|
||||||
easier just to write a small script and have GNU @strong{parallel} call that
|
easier just to write a small script or a function (remember to
|
||||||
script.
|
@strong{export -f} the function) and have GNU @strong{parallel} call that.
|
||||||
|
|
||||||
@chapter LIST RUNNING JOBS
|
@chapter LIST RUNNING JOBS
|
||||||
@anchor{LIST RUNNING JOBS}
|
@anchor{LIST RUNNING JOBS}
|
||||||
|
|
|
@ -144,4 +144,24 @@ echo '### Test {#}'
|
||||||
|
|
||||||
echo '### Test --seqreplace and line too long'
|
echo '### Test --seqreplace and line too long'
|
||||||
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc
|
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc
|
||||||
|
|
||||||
|
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
||||||
|
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
||||||
|
parallel -J bug_37042_profile echo ::: tag_with_foo;
|
||||||
|
parallel --tagstring a -J bug_37042_profile echo ::: tag_with_a;
|
||||||
|
parallel --tagstring a echo -J bug_37042_profile ::: print_-J_bug_37042_profile;
|
||||||
|
|
||||||
|
echo '### Bug introduce by fixing bug #37042'
|
||||||
|
parallel --xapply -a <(printf 'abc') --colsep '\t' echo {1}
|
||||||
|
|
||||||
|
echo "### Test --header with -N"
|
||||||
|
(echo h1; echo h2; echo 1a;echo 1b; echo 2a;echo 2b; echo 3a)| parallel -j1 --pipe -N2 -k --header '\n.*\n' echo Start\;cat \; echo Stop
|
||||||
|
|
||||||
|
echo "### Test --header with --block 1k"
|
||||||
|
(echo h1; echo h2; perl -e '$a="x"x110;for(1..22){print $_,$a,"\n"'})| parallel -j1 --pipe -k --block 1k --header '\n.*\n' echo Start\;cat \; echo Stop
|
||||||
|
|
||||||
|
echo "### Test --header with multiple :::"
|
||||||
|
parallel --header : echo {a} {b} {1} {2} ::: b b1 ::: a a2
|
||||||
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -18,12 +18,12 @@ echo '### Test --timeout';
|
||||||
nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
||||||
|
|
||||||
echo '### Test retired';
|
echo '### Test retired';
|
||||||
stdout parallel -B;
|
stdout parallel -B foo;
|
||||||
stdout parallel -g;
|
stdout parallel -g;
|
||||||
stdout parallel -H;
|
stdout parallel -H 1;
|
||||||
stdout parallel -T;
|
stdout parallel -T;
|
||||||
stdout parallel -U;
|
stdout parallel -U foo;
|
||||||
stdout parallel -W;
|
stdout parallel -W foo;
|
||||||
stdout parallel -Y;
|
stdout parallel -Y;
|
||||||
|
|
||||||
echo '### Test --joblog followed by --resume --joblog'
|
echo '### Test --joblog followed by --resume --joblog'
|
||||||
|
|
|
@ -142,7 +142,7 @@ echo '### Negative replacement strings'
|
||||||
parallel --colsep ' ' echo '{-3}orrect' ::: "1 c 3 4"
|
parallel --colsep ' ' echo '{-3}orrect' ::: "1 c 3 4"
|
||||||
|
|
||||||
echo 'bug #38439: "open files" with --files --pipe blocks after a while'
|
echo 'bug #38439: "open files" with --files --pipe blocks after a while'
|
||||||
ulimit -n 20; yes |head -n 10M | parallel --pipe -k echo {#} of 21
|
ulimit -n 20; yes |head -n 10M | parallel --pipe -k echo {#} of 20
|
||||||
|
|
||||||
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
||||||
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null;
|
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null;
|
||||||
|
|
|
@ -17,7 +17,7 @@ echo '### Test 200M records with too small block';
|
||||||
echo start;
|
echo start;
|
||||||
seq 1 44 | parallel -uj1 cat /tmp/blocktest\;true;
|
seq 1 44 | parallel -uj1 cat /tmp/blocktest\;true;
|
||||||
echo end;
|
echo end;
|
||||||
) | stdout parallel -k --block 200M -j2 --pipe --recend 'end\n' wc -c |
|
) | stdout parallel -k --block 200m -j2 --pipe --recend 'end\n' wc -c |
|
||||||
egrep -v '^0$'
|
egrep -v '^0$'
|
||||||
|
|
||||||
echo '### Test -N with multiple jobslots and multiple args'
|
echo '### Test -N with multiple jobslots and multiple args'
|
||||||
|
@ -90,7 +90,7 @@ echo '### Test -N even+2';
|
||||||
seq 1 12 | parallel -j2 -k -N 2 --pipe cat";echo ole;sleep 1.\$PARALLEL_SEQ"
|
seq 1 12 | parallel -j2 -k -N 2 --pipe cat";echo ole;sleep 1.\$PARALLEL_SEQ"
|
||||||
|
|
||||||
echo '### Test --recstart + --recend';
|
echo '### Test --recstart + --recend';
|
||||||
cat /tmp/blocktest | parallel --block 1m -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum
|
cat /tmp/blocktest | parallel --block 1M -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum
|
||||||
|
|
||||||
echo '### Race condition bug - 1 - would block';
|
echo '### Race condition bug - 1 - would block';
|
||||||
seq 1 80 | nice parallel -j0 'seq 1 10| parallel --block 1 --recend "" --pipe cat;true' >/dev/null
|
seq 1 80 | nice parallel -j0 'seq 1 10| parallel --block 1 --recend "" --pipe cat;true' >/dev/null
|
||||||
|
|
|
@ -10,6 +10,10 @@ VBoxManage startvm CentOS3-root:centos3 >/dev/null 2>&1
|
||||||
VBoxManage startvm CentOS5-root:centos5 >/dev/null 2>&1
|
VBoxManage startvm CentOS5-root:centos5 >/dev/null 2>&1
|
||||||
VBoxManage startvm RedHat9-root:redhat9 >/dev/null 2>&1
|
VBoxManage startvm RedHat9-root:redhat9 >/dev/null 2>&1
|
||||||
VBoxManage startvm FreeBSD71 >/dev/null 2>&1
|
VBoxManage startvm FreeBSD71 >/dev/null 2>&1
|
||||||
|
ping -c 1 centos3.tange.dk >/dev/null 2>&1
|
||||||
|
ping -c 1 centos5.tange.dk >/dev/null 2>&1
|
||||||
|
ping -c 1 redhat9.tange.dk >/dev/null 2>&1
|
||||||
|
ping -c 1 freebsd7.tange.dk >/dev/null 2>&1
|
||||||
|
|
||||||
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
|
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
|
||||||
cp `which parallel` /tmp/parallel
|
cp `which parallel` /tmp/parallel
|
||||||
|
|
|
@ -2,24 +2,17 @@
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -j10 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -j10 -k -L1
|
||||||
|
echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs"
|
||||||
|
out30=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..30){print $a,"\n"}') );
|
||||||
|
out300=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..300){print $a,"\n"}') );
|
||||||
|
mem30=$(echo $out30 | tr -cd 0-9);
|
||||||
|
mem300=$(echo $out300 | tr -cd 0-9);
|
||||||
|
echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150% ";
|
||||||
|
echo $(($mem300*100 < $mem30 * 150))
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs";
|
|
||||||
out30=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..30){print $a,"\n"}') );
|
|
||||||
out300=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..300){print $a,"\n"}') );
|
|
||||||
mem30=$(echo $out30 | tr -cd 0-9);
|
|
||||||
mem300=$(echo $out300 | tr -cd 0-9);
|
|
||||||
echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150% ";
|
|
||||||
echo $(($mem300*100 < $mem30 * 150))
|
|
||||||
|
|
||||||
echo "### Test --header with -N";
|
|
||||||
(echo h1; echo h2; echo 1a;echo 1b; echo 2a;echo 2b; echo 3a)| parallel -j1 --pipe -N2 -k --header '\n.*\n' echo Start\;cat \; echo Stop
|
|
||||||
|
|
||||||
echo "### Test --header with --block 1k";
|
|
||||||
(echo h1; echo h2; perl -e '$a="x"x110;for(1..22){print $_,$a,"\n"'})| parallel -j1 --pipe -k --block 1k --header '\n.*\n' echo Start\;cat \; echo Stop
|
|
||||||
|
|
||||||
echo "### Test --header with multiple :::"
|
|
||||||
parallel --header : echo {a} {b} {1} {2} ::: b b1 ::: a a2
|
|
||||||
|
|
||||||
echo '### Test --shellquote'
|
echo '### Test --shellquote'
|
||||||
cat <<'_EOF' | parallel --shellquote
|
cat <<'_EOF' | parallel --shellquote
|
||||||
|
|
|
@ -266,3 +266,60 @@ o
|
||||||
1 1 130001
|
1 1 130001
|
||||||
1 1 130001
|
1 1 130001
|
||||||
parallel: Command line too long (260009 >= 131071) at number 9: 10...
|
parallel: Command line too long (260009 >= 131071) at number 9: 10...
|
||||||
|
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
||||||
|
foo tag_with_foo
|
||||||
|
a tag_with_a
|
||||||
|
a -J bug_37042_profile print_-J_bug_37042_profile
|
||||||
|
### Bug introduce by fixing bug #37042
|
||||||
|
abc
|
||||||
|
### Test --header with -N
|
||||||
|
Start
|
||||||
|
h1
|
||||||
|
h2
|
||||||
|
1a
|
||||||
|
1b
|
||||||
|
Stop
|
||||||
|
Start
|
||||||
|
h1
|
||||||
|
h2
|
||||||
|
2a
|
||||||
|
2b
|
||||||
|
Stop
|
||||||
|
Start
|
||||||
|
h1
|
||||||
|
h2
|
||||||
|
3a
|
||||||
|
Stop
|
||||||
|
### Test --header with --block 1k
|
||||||
|
Start
|
||||||
|
h1
|
||||||
|
h2
|
||||||
|
1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
11xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
12xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
14xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
16xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
17xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
Stop
|
||||||
|
Start
|
||||||
|
h1
|
||||||
|
h2
|
||||||
|
18xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
19xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
21xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
22xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
Stop
|
||||||
|
### Test --header with multiple :::
|
||||||
|
a2 b1 b1 a2
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
### Test if we can deal with output > 4 GB
|
### Test if we can deal with output > 4 GB
|
||||||
46a318993dfc8e2afd71ff2bc6f605f1 -
|
46a318993dfc8e2afd71ff2bc6f605f1 -
|
||||||
### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
||||||
parallel: Warning: Only enough filehandles to run 507 jobs in parallel. Raising ulimit -n may help.
|
parallel: Warning: Only enough filehandles to run 506 jobs in parallel. Raising ulimit -n may help.
|
||||||
Start
|
Start
|
||||||
end
|
end
|
||||||
### Test of --retries on unreachable host
|
### Test of --retries on unreachable host
|
||||||
|
|
|
@ -45,6 +45,34 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
parallel: Error: -U has been retired. Use --er.
|
||||||
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
parallel: Error: -U has been retired. Use --er.
|
||||||
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
parallel: Error: -U has been retired. Use --er.
|
||||||
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
parallel: Error: -U has been retired. Use --er.
|
||||||
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
### Test --joblog followed by --resume --joblog
|
### Test --joblog followed by --resume --joblog
|
||||||
5 49
|
5 49
|
||||||
### Test --resume --joblog followed by --resume --joblog
|
### Test --resume --joblog followed by --resume --joblog
|
||||||
|
|
|
@ -239,27 +239,26 @@ correct
|
||||||
2 + 4 = 2 + 4= 6
|
2 + 4 = 2 + 4= 6
|
||||||
correct
|
correct
|
||||||
bug #38439: "open files" with --files --pipe blocks after a while
|
bug #38439: "open files" with --files --pipe blocks after a while
|
||||||
1 of 21
|
1 of 20
|
||||||
2 of 21
|
2 of 20
|
||||||
3 of 21
|
3 of 20
|
||||||
4 of 21
|
4 of 20
|
||||||
5 of 21
|
5 of 20
|
||||||
6 of 21
|
6 of 20
|
||||||
7 of 21
|
7 of 20
|
||||||
8 of 21
|
8 of 20
|
||||||
9 of 21
|
9 of 20
|
||||||
10 of 21
|
10 of 20
|
||||||
11 of 21
|
11 of 20
|
||||||
12 of 21
|
12 of 20
|
||||||
13 of 21
|
13 of 20
|
||||||
14 of 21
|
14 of 20
|
||||||
15 of 21
|
15 of 20
|
||||||
16 of 21
|
16 of 20
|
||||||
17 of 21
|
17 of 20
|
||||||
18 of 21
|
18 of 20
|
||||||
19 of 21
|
19 of 20
|
||||||
20 of 21
|
20 of 20
|
||||||
21 of 21
|
|
||||||
bug #34241: --pipe should not spawn unneeded processes - part 2
|
bug #34241: --pipe should not spawn unneeded processes - part 2
|
||||||
2
|
2
|
||||||
No .par should exist
|
No .par should exist
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
### Test --env all chars except \n,\92,\160 - single and double - no output is good
|
### Test --env all chars except \n,\92,\160 - single and double - no output is good
|
||||||
|
### bug #37262: --slf + --filter-hosts fails
|
||||||
|
OK
|
||||||
|
|
|
@ -207,7 +207,7 @@ hurd.polarhome.com Welcome to hurd ...member of polarhome.com realm.
|
||||||
hurd.polarhome.com Works on hurd.polarhome.com
|
hurd.polarhome.com Works on hurd.polarhome.com
|
||||||
irix.polarhome.com
|
irix.polarhome.com
|
||||||
irix.polarhome.com IRIX64 6.5 07202013 IP35
|
irix.polarhome.com IRIX64 6.5 07202013 IP35
|
||||||
irix.polarhome.com Unknown open() mode '>&' at bin/parallel line 1274, <$fh> line 1.
|
irix.polarhome.com Unknown open() mode '>&' at bin/parallel line 1310.
|
||||||
irix.polarhome.com Welcome to irix ...member of polarhome.com realm
|
irix.polarhome.com Welcome to irix ...member of polarhome.com realm
|
||||||
mandriva.polarhome.com
|
mandriva.polarhome.com
|
||||||
mandriva.polarhome.com
|
mandriva.polarhome.com
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
### Test -k
|
### Test -k
|
||||||
parallel: Warning: Only enough filehandles to run 20 jobs in parallel. Raising ulimit -n may help.
|
parallel: Warning: Only enough filehandles to run 19 jobs in parallel. Raising ulimit -n may help.
|
||||||
begin
|
begin
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
|
|
@ -1,56 +1,5 @@
|
||||||
### Test memory consumption stays (almost) the same for 30 and 300 jobs
|
### Test memory consumption stays (almost) the same for 30 and 300 jobs
|
||||||
Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150%
|
Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150%
|
||||||
1
|
1
|
||||||
### Test --header with -N
|
|
||||||
Start
|
|
||||||
h1
|
|
||||||
h2
|
|
||||||
1a
|
|
||||||
1b
|
|
||||||
Stop
|
|
||||||
Start
|
|
||||||
h1
|
|
||||||
h2
|
|
||||||
2a
|
|
||||||
2b
|
|
||||||
Stop
|
|
||||||
Start
|
|
||||||
h1
|
|
||||||
h2
|
|
||||||
3a
|
|
||||||
Stop
|
|
||||||
### Test --header with --block 1k
|
|
||||||
Start
|
|
||||||
h1
|
|
||||||
h2
|
|
||||||
1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
11xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
12xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
14xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
16xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
17xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Stop
|
|
||||||
Start
|
|
||||||
h1
|
|
||||||
h2
|
|
||||||
18xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
19xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
21xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
22xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Stop
|
|
||||||
### Test --header with multiple :::
|
|
||||||
a2 b1 b1 a2
|
|
||||||
### Test --shellquote
|
### Test --shellquote
|
||||||
awk\ -v\ FS=\"\\\",\\\"\"\ \'\{print\ \$1,\ \$3,\ \$4,\ \$5,\ \$9,\ \$14\}\'\ \|\ grep\ -v\ \"\#\"\ \|\ sed\ -e\ \'1d\'\ -e\ \'s/\\\"//g\'\ -e\ \'s/\\/\\/\\//\\t/g\'\ \|\ cut\ -f1-6,11\ \|\ sed\ -e\ \'s/\\/\\//\\t/g\'\ -e\ \'s/\ /\\t/g
|
awk\ -v\ FS=\"\\\",\\\"\"\ \'\{print\ \$1,\ \$3,\ \$4,\ \$5,\ \$9,\ \$14\}\'\ \|\ grep\ -v\ \"\#\"\ \|\ sed\ -e\ \'1d\'\ -e\ \'s/\\\"//g\'\ -e\ \'s/\\/\\/\\//\\t/g\'\ \|\ cut\ -f1-6,11\ \|\ sed\ -e\ \'s/\\/\\//\\t/g\'\ -e\ \'s/\ /\\t/g
|
||||||
|
|
Loading…
Reference in a new issue