parallel: Determine max command length faster on Microsoft Windows.

This commit is contained in:
Ole Tange 2022-09-22 22:29:31 +02:00
parent b11dadd0d0
commit 5ef995babb
34 changed files with 301 additions and 228 deletions

View file

@ -3,7 +3,7 @@ Upstream-Name: parallel
Upstream-Contact: Ole Tange, http://ole.tange.dk Upstream-Contact: Ole Tange, http://ole.tange.dk
Source: https://git.savannah.gnu.org/git/parallel.git Source: https://git.savannah.gnu.org/git/parallel.git
Files: testsuite/input-files/testdir/* testsuite/input-files/testdir2/* testsuite/wanted-results/* testsuite/testdir/* packager/obs/* src/optional/* packager/debian/debian-template/* configure config.h.in aclocal.m4 install-sh missing testsuite/input-files/random_dirs_no_newline.tar.bz2 testsuite/input-files/random_dirs_with_newline.tar.bz2 Files: testsuite/input-files/testdir.tar.bz2 testsuite/input-files/testdir/* testsuite/input-files/testdir2/* testsuite/wanted-results/* testsuite/testdir/* packager/obs/* src/optional/* packager/debian/debian-template/* configure config.h.in aclocal.m4 install-sh missing testsuite/input-files/random_dirs_no_newline.tar.bz2 testsuite/input-files/random_dirs_with_newline.tar.bz2
Copyright: 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Foundation, Inc. Copyright: 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Foundation, Inc.
License: GPL-3.0-or-later License: GPL-3.0-or-later

View file

@ -145,7 +145,7 @@ reuse:
testurls: testurls:
mkdir -p urls mkdir -p urls
cd urls && grep -v '(dead)' ../src/* | grep -h -Po 'https?://[^ $$<>")}]+' | perl -pe 's/(&gt|\{).*//;s/\\-/-/g;s/\\n//g;s/&amp;/&/g;s/&#.*//;'"s/'.*//" | grep -Ev 'parallel-(20)?$$|coolwebsite.biz' | sort -u | egrep -v 'example.com|##|\*\(' | parallel -j0 --timeout 33 --bar --tag --joblog joblog --retries 3 neno wget -m -l1 -Q1 '{=$$_=Q($$_)=}' cd urls && ../src/testurls
reconf: reconf:
rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh

View file

@ -913,7 +913,7 @@ reuse:
testurls: testurls:
mkdir -p urls mkdir -p urls
cd urls && grep -v '(dead)' ../src/* | grep -h -Po 'https?://[^ $$<>")}]+' | perl -pe 's/(&gt|\{).*//;s/\\-/-/g;s/\\n//g;s/&amp;/&/g;s/&#.*//;'"s/'.*//" | grep -Ev 'parallel-(20)?$$|coolwebsite.biz' | sort -u | egrep -v 'example.com|##|\*\(' | parallel -j0 --timeout 33 --bar --tag --joblog joblog --retries 3 neno wget -m -l1 -Q1 '{=$$_=Q($$_)=}' cd urls && ../src/testurls
reconf: reconf:
rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh

View file

@ -22,7 +22,9 @@ single solution that just works:
* https://www.slideshare.net/NadiaEghbal/consider-the-maintainer * https://www.slideshare.net/NadiaEghbal/consider-the-maintainer
* https://www.youtube.com/watch?v=vTsc1m78BUk * https://www.youtube.com/watch?v=vTsc1m78BUk
* https://web.archive.org/web/20210203105621/https://blog.licensezero.com/2019/08/24/process-of-elimination.html * https://web.archive.org/web/20210203105621/https://blog.licensezero.com/2019/08/24/process-of-elimination.html
* https://web.archive.org/web/20210923091339/https://blog.licensezero.com/2019/08/26/but-you-said.html
* https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/ * https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/
* https://feross.org/funding-experiment-recap/
== Is the citation notice compatible with GPLv3? == == Is the citation notice compatible with GPLv3? ==

View file

@ -4,6 +4,18 @@
Quote of the month: Quote of the month:
Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago
-- Stefan Gavriliuc @GavriliucStefan@twitter
If used properly, #gnuparallel actually enables time travel.
-- Dr. James Wasmuth @jdwasmuth@twitter
Im a big fan of GNU parallel!
-- Scott Cain @scottjcain@twitter
gnu parallelが便利すぎてxargsの使い方忘れちゃった
-- @mathbbQ@twitter @凍結解除手続き中
Doing some absolutely bonkers "data science" on the command line. GNU parallel + JQ is very powerful, allowing me to parse and 10Gig-JSON-File in under a minute. Doing some absolutely bonkers "data science" on the command line. GNU parallel + JQ is very powerful, allowing me to parse and 10Gig-JSON-File in under a minute.
-- @jeeger@twitter Keter-class developer -- @jeeger@twitter Keter-class developer

View file

@ -255,28 +255,31 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20220922 ('Elizabeth') released Subject: GNU Parallel 20221022 ('Керчь/Nord Stream/Annectxation/DART/Mahsa Amini/Mobilising/Niemann') released
GNU Parallel 20220922 ('Elizabeth') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20221022 ('') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month: Quote of the month:
reduced our backend test pipelines from 4 to 1.30 hrs. gnu parallel for the win!!! <<>>
-- Swapnil Sahu @CaffeinatedWryy@twitter
New in this release: New in this release:
* --colour-failed only changes output for failing jobs. *
* Password for --sshlogin can be put in $SSHPASS.
* Examples are moved from `man parallel` to `man parallel_examples`.
* Bug fixes and man page updates. * Bug fixes and man page updates.
News about GNU Parallel: News about GNU Parallel:
* WOMM - Works On My Machine uses GNU Parallel https://pypi.org/project/womm/ https://www.youtube.com/watch?v=usbMLggdMgc
https://docs.csc.fi/support/tutorials/many/
https://www.linuxfordevices.com/tutorials/linux/copy-file-to-multiple-directories-with-one-command
https://blog.gdeltproject.org/behind-the-scenes-the-power-of-simple-command-line-tools-at-cloud-scale/
https://www.openguru.com/2022/09/
https://www.folkstalk.com/2022/09/xargs-parallel-with-code-examples.html
https://www3.cs.stonybrook.edu/~cse416/Section01/Slides/SeaWulfIntro_CSE416_09222022.pdf
https://www.youtube.com/watch?v=qypUdm-IE9c
GNU Parallel - For people who live life in the parallel lane. GNU Parallel - For people who live life in the parallel lane.

View file

@ -145,7 +145,7 @@ parallel_examples.html: parallel_examples.pod env_parallel.html
rm -f "$(srcdir)"/pod2htm* rm -f "$(srcdir)"/pod2htm*
# Depending on parallel_examples.html to avoid stupid pod2html race condition # Depending on parallel_examples.html to avoid stupid pod2html race condition
parallel_tutorial.html: parallel_tutorial.pod env_parallel.html parallel_tutorial.html: parallel_tutorial.pod parallel_examples.html
pod2html --title "GNU Parallel tutorial" "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.htmln \ pod2html --title "GNU Parallel tutorial" "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.htmln \
&& mv "$(srcdir)"/parallel_tutorial.htmln "$(srcdir)"/parallel_tutorial.html \ && mv "$(srcdir)"/parallel_tutorial.htmln "$(srcdir)"/parallel_tutorial.html \
|| echo "Warning: pod2html not found. Using old parallel_tutorial.html" || echo "Warning: pod2html not found. Using old parallel_tutorial.html"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -397,7 +397,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -378,7 +378,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -380,7 +380,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -370,7 +370,7 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20220922 (GNU parallel `parallel --minversion 1`)" echo "parset 20220923 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -26,7 +26,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20220922; $Global::version = 20220923;
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage(); get_options_from_array(\@ARGV) || die_usage();
if($opt::version) { if($opt::version) {

View file

@ -2495,7 +2495,6 @@ sub parse_options(@) {
# This problem has been covered by others - though no solution has # This problem has been covered by others - though no solution has
# been found: # been found:
# https://www.slideshare.net/NadiaEghbal/consider-the-maintainer # https://www.slideshare.net/NadiaEghbal/consider-the-maintainer
# https://blog.licensezero.com/2019/08/24/process-of-elimination.html
# https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/ # https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/
# #
# The FAQ tells you why the citation notice exists: # The FAQ tells you why the citation notice exists:
@ -2535,7 +2534,6 @@ sub parse_options(@) {
# trademark. The xt:Commerce case shows this. # trademark. The xt:Commerce case shows this.
# #
# Description of the xt:Commerce case in OLG Duesseldorf # Description of the xt:Commerce case in OLG Duesseldorf
# http://www.inta.org/INTABulletin/Pages/GERMANYGeneralPublicLicenseDoesNotPermitUseofThird-PartyTrademarksforAdvertisingModifiedVersionsofOpen-SourceSoftware.aspx
# https://web.archive.org/web/20180715073746/http://www.inta.org/INTABulletin/Pages/GERMANYGeneralPublicLicenseDoesNotPermitUseofThird-PartyTrademarksforAdvertisingModifiedVersionsofOpen-SourceSoftware.aspx # https://web.archive.org/web/20180715073746/http://www.inta.org/INTABulletin/Pages/GERMANYGeneralPublicLicenseDoesNotPermitUseofThird-PartyTrademarksforAdvertisingModifiedVersionsofOpen-SourceSoftware.aspx
# #
# The verdict in German # The verdict in German
@ -2556,7 +2554,7 @@ sub parse_options(@) {
# If you want GNU Parallel to be maintained in the future you # If you want GNU Parallel to be maintained in the future you
# should keep this line. # should keep this line.
citation_notice(); citation_notice();
# _YOU_ will be harming free software by removing the notice. You # *YOU* will be harming free software by removing the notice. You
# accept to be added to a public hall of shame by removing the # accept to be added to a public hall of shame by removing the
# line. This is because _YOU_ actively make it harder to justify # line. This is because _YOU_ actively make it harder to justify
# spending time developing GNU Parallel. # spending time developing GNU Parallel.
@ -2682,7 +2680,7 @@ sub check_invalid_option_combinations() {
sub init_globals() { sub init_globals() {
# Defaults: # Defaults:
$Global::version = 20220922; $Global::version = 20220923;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$::name = "GNU Parallel"; $::name = "GNU Parallel";
$Global::infinity = 2**31; $Global::infinity = 2**31;
@ -12971,7 +12969,7 @@ sub find_max($) {
# This is slow on Cygwin, so give Cygwin users a warning # This is slow on Cygwin, so give Cygwin users a warning
if($^O eq "cygwin") { if($^O eq "cygwin") {
::warning("Finding the maximal command line length. ". ::warning("Finding the maximal command line length. ".
"This may take up to 30 seconds.") "This may take up to 1 minute.")
} }
# Use an upper bound of 100 MB if the shell allows for infinite # Use an upper bound of 100 MB if the shell allows for infinite
# long lengths # long lengths
@ -12988,9 +12986,34 @@ sub find_max($) {
return binary_find_max(int($len/16),$len,$string); return binary_find_max(int($len/16),$len,$string);
} }
# Prototype forwarding # Prototype forwarding
sub binary_find_max($$$); sub binary_find_max($$$);
sub binary_find_max($$$) { sub binary_find_max($$$) {
# Given a lower and upper bound find the max (length or args) of a
# command line
# Returns:
# number of chars on the longest command line allowed
my ($lower, $upper, $string) = (@_);
if($lower == $upper
or $lower == $upper-1
or $lower/$upper > 0.99) {
# $lower is +- 1 or within 1%: Don't search more
return $lower;
}
# Unevenly split binary search which is faster for Microsoft Windows.
# Guessing too high is cheap. Guessing too low is expensive.
my $split = ($^O eq "cygwin" or $^O eq "msys") ? 0.93 : 0.5;
my $middle = int (($upper-$lower)*$split + $lower);
::debug("init", "Maxlen: $lower<$middle<$upper: ");
if (is_acceptable_command_line_length($middle,$string)) {
return binary_find_max($middle,$upper,$string);
} else {
return binary_find_max($lower,$middle,$string);
}
}
sub _binary_find_max($$$) {
# Given a lower and upper bound find the max (length or args) of a # Given a lower and upper bound find the max (length or args) of a
# command line # command line
# Returns: # Returns:

View file

@ -813,6 +813,9 @@ B<pigz>, B<lz4>, B<lzop>, B<plzip>, B<lzip>, B<lrz>, B<gzip>, B<pxz>,
B<lzma>, B<bzip2>, B<xz>, B<clzip>, in that order, and use the first B<lzma>, B<bzip2>, B<xz>, B<clzip>, in that order, and use the first
available. available.
GNU B<parallel> will use up to 8 processes per job waiting to be
printed. See B<man parallel_design> for details.
See also: B<--compress-program> See also: B<--compress-program>

View file

@ -51,7 +51,7 @@ The primary drawback is that Perl is slow. So there is an overhead of
3-10 ms/job and 1 ms/MB output (and even more if you use B<--tag>). 3-10 ms/job and 1 ms/MB output (and even more if you use B<--tag>).
=head2 Old Perl style =head2 Old Perl style
GNU B<parallel> uses some old, deprecated constructs. This is due to a GNU B<parallel> uses some old, deprecated constructs. This is due to a
goal of being able to run on old installations. Currently the target goal of being able to run on old installations. Currently the target
@ -254,6 +254,15 @@ rest of tmpfile and exits.
As most compression programs write out a header when they start, the As most compression programs write out a header when they start, the
tmpfile in practice is removed by B<cattail> after around 40 ms. tmpfile in practice is removed by B<cattail> after around 40 ms.
More detailed it works like this:
bash ( command ) |
sh ( emptywrapper ( bash ( compound compress ) ) >tmpfile )
cattail ( rm tmpfile; compound decompress ) < tmpfile
This complex setup is to make sure compress program is only started if
there is input.
=head2 Wrapping =head2 Wrapping
@ -411,7 +420,7 @@ wrapping 'sh -c' is enough?
$RETURN is the wrapper from B<--return> $RETURN is the wrapper from B<--return>
$COMMAND; _EXIT_status=$?; $RETURN; $COMMAND; _EXIT_status=$?; $RETURN;
ssh $SSHLOGIN \(rm\ -f\ ./$WORKDIR/{}\;\ ssh $SSHLOGIN \(rm\ -f\ ./$WORKDIR/{}\;\
rmdir\ ./$WORKDIR\ \>\&/dev/null\;\); rmdir\ ./$WORKDIR\ \>\&/dev/null\;\);
exit $_EXIT_status; exit $_EXIT_status;
@ -478,9 +487,9 @@ are added to the title to force it to be outside the limits.
You can map the bad limits using: You can map the bad limits using:
perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 1600 1500 90 | perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 1600 1500 90 |
perl -ane '$F[0]+$F[1]+$F[2] < 2037 and print ' | perl -ane '$F[0]+$F[1]+$F[2] < 2037 and print ' |
parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' tmux -S /tmp/p{%}-'{=3 $_="O"x$_ =}' \ parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' tmux -S /tmp/p{%}-'{=3 $_="O"x$_ =}' \
new-session -d -n '{=1 $_="O"x$_ =}' true'\ {=2 $_="O"x$_ =};echo $?;rm -f /tmp/p{%}-O*' new-session -d -n '{=1 $_="O"x$_ =}' true'\ {=2 $_="O"x$_ =};echo $?;rm -f /tmp/p{%}-O*'
perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 17000 17000 90 | perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 17000 17000 90 |
parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' \ parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' \
@ -975,7 +984,7 @@ output to standard output (stdout). This small script is prepended to
the command and the full command is executed just as if GNU the command and the full command is executed just as if GNU
B<parallel> had been in its normal mode. The script looks like this: B<parallel> had been in its normal mode. The script looks like this:
< file perl -e 'while(@ARGV) { < file perl -e 'while(@ARGV) {
sysseek(STDIN,shift,0) || die; sysseek(STDIN,shift,0) || die;
$left = shift; $left = shift;
while($read = sysread(STDIN,$buf, while($read = sysread(STDIN,$buf,
@ -1052,7 +1061,7 @@ records like:
a,b,c a,b,c
a,b,c a,b,c
a,b,c a,b,c
",c ",c
a,b,c a,b,c
Here the second record contains a multi-line field that looks like Here the second record contains a multi-line field that looks like
@ -1425,7 +1434,7 @@ up resources, but were run in separate threads.
=head2 --rrs on remote using a perl wrapper =head2 --rrs on remote using a perl wrapper
... | perl -pe '$/=$recend$recstart;BEGIN{ if(substr($_) eq $recstart) substr($_)="" } eof and substr($_) eq $recend) substr($_)="" ... | perl -pe '$/=$recend$recstart;BEGIN{ if(substr($_) eq $recstart) substr($_)="" } eof and substr($_) eq $recend) substr($_)=""
It ought to be possible to write a filter that removed rec sep on the It ought to be possible to write a filter that removed rec sep on the
fly instead of inside GNU B<parallel>. This could then use more cpus. fly instead of inside GNU B<parallel>. This could then use more cpus.

View file

@ -1747,13 +1747,14 @@ Unfortunately, CTRL-C will also normally kill GNU B<parallel>.
But by using B<--open-tty> and ignoring SIGINT you can get the wanted effect: But by using B<--open-tty> and ignoring SIGINT you can get the wanted effect:
parallel -j0 --open-tty --lb --tag ping {='$SIG{INT}=sub {}'=} \ parallel -j0 --open-tty --lb --tag ping '{= $SIG{INT}=sub {} =}' \
::: 1.1.1.1 8.8.8.8 9.9.9.9 21.21.21.21 80.80.80.80 88.88.88.88 ::: 1.1.1.1 8.8.8.8 9.9.9.9 21.21.21.21 80.80.80.80 88.88.88.88
B<--open-tty> will make the B<ping>s receive SIGINT (from CTRL-C). B<--open-tty> will make the B<ping>s receive SIGINT (from CTRL-C).
CTRL-C will not kill GNU B<parallel>, so that will only exit after CTRL-C will not kill GNU B<parallel>, so that will only exit after
B<ping> is done. B<ping> is done.
=head2 EXAMPLE: GNU Parallel as queue system/batch manager =head2 EXAMPLE: GNU Parallel as queue system/batch manager
GNU B<parallel> can work as a simple job queue system or batch manager. GNU B<parallel> can work as a simple job queue system or batch manager.

View file

@ -122,7 +122,7 @@ GetOptions(
"help" => \$opt::dummy, "help" => \$opt::dummy,
) || exit(255); ) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20220922; $Global::version = 20220923;
if($opt::version) { version(); exit 0; } if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ } @Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);

View file

@ -667,7 +667,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20220922; $Global::version = 20220923;
$Global::progname = 'sql'; $Global::progname = 'sql';
# This must be done first as this may exec myself # This must be done first as this may exec myself

17
src/testurls Executable file
View file

@ -0,0 +1,17 @@
#!/bin/bash
grep -hv '(dead)' ../src/* |
# Merge lines ending in .
perl -pe 's{(http\S+\.)\s}{$1}s' |
# Grep out URLs
grep -h -Po 'https?://[^ $$<>")}]+' |
# Remove anchor
perl -pe 's/#.*//' |
perl -pe 's/(&gt|\{).*//;s/\\-/-/g;s/\\n//g;s/&amp;/&/g;s/&#.*//;s/\s*//;'"s/'.*//;" |
# Remove spacing
perl -pe 's/\s*$/\n/' |
perl -pe 's/&quot;$//g; s/&$//g; s/\\//g;' |
grep -Ev 'parallel-(20)?$$|coolwebsite.biz' |
sort -u |
egrep -v 'example.com|##|\*\(' |
parallel -j0 --timeout 10 --bar --tag --joblog joblog --retries 3 neno wget -l1 -Q1 -U "'"'"'"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"'"'"'" '{=$_=Q($_)=}'

View file

@ -41,10 +41,9 @@ start_centos3() {
# Ignore empty ^M line # Ignore empty ^M line
grep .. grep ..
} }
( stdout vagrant up >/dev/null &
stdout vagrant up >/dev/null (sleep 10; stdout vagrant up >/dev/null ) &
vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3' vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3; echo centos3: added 172.27.27.3 >&2'
) &
) )
} }
start_centos3 start_centos3

View file

@ -1,6 +1,10 @@
# -*- mode: ruby -*- # -*- mode: ruby -*-
# vi: set ft=ruby : # vi: set ft=ruby :
# SPDX-FileCopyrightText: 2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# All Vagrant configuration is done below. The "2" in Vagrant.configure # All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for # configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what # backwards compatibility). Please don't change it unless you know what

View file

@ -504,10 +504,10 @@ par_long_line_remote ### Deal with long command lines on remote servers
par_long_line_remote 6 6 30006 par_long_line_remote 6 6 30006
par_long_line_remote 6 50 250050 par_long_line_remote 6 50 250050
par_maxlinelen_X_I ### Test max line length -X -I par_maxlinelen_X_I ### Test max line length -X -I
par_maxlinelen_X_I 42d5c115907de0044ef988a0639204cd - par_maxlinelen_X_I a98747678a5d18c4470a073812437ab2 -
par_maxlinelen_X_I Chars per line (817788/13): 62906 par_maxlinelen_X_I Chars per line (817788/13): 62906
par_maxlinelen_m_I ### Test max line length -m -I par_maxlinelen_m_I ### Test max line length -m -I
par_maxlinelen_m_I 2f0d9d11a071f5dbe6bd876a19499ff5 - par_maxlinelen_m_I a3c892de2524f32f78550b47336eadd0 -
par_maxlinelen_m_I Chars per line (697810/11): 63437 par_maxlinelen_m_I Chars per line (697810/11): 63437
par_nice Check that --nice works par_nice Check that --nice works
par_nice load_10 par_nice load_10
@ -1051,7 +1051,7 @@ par_xargs_compat a_b c
par_xargs_compat d par_xargs_compat d
par_xargs_compat e par_xargs_compat e
par_xargs_compat ### test too long args par_xargs_compat ### test too long args
par_xargs_compat parallel: Error: Command line too long (1000005 >= 64031) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat parallel: Error: Command line too long (1000005 >= 63664) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat xargs: argument line too long par_xargs_compat xargs: argument line too long
par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat 1 2 par_xargs_compat 1 2

View file

@ -1058,10 +1058,10 @@ par_test_job_number 8
par_test_job_number 9 par_test_job_number 9
par_test_job_number 10 par_test_job_number 10
par_too_long_line_X bug #54869: Long lines break par_too_long_line_X bug #54869: Long lines break
par_too_long_line_X 1 15890 63952 par_too_long_line_X 1 15820 63602
par_too_long_line_X 1 12796 63980 par_too_long_line_X 1 12726 63630
par_too_long_line_X 1 12796 63980 par_too_long_line_X 1 12726 63630
par_too_long_line_X 1 518 2590 par_too_long_line_X 1 728 3640
par_trailing_space_line_continuation ### Test of trailing space continuation par_trailing_space_line_continuation ### Test of trailing space continuation
par_trailing_space_line_continuation foo ole bar par_trailing_space_line_continuation foo ole bar
par_trailing_space_line_continuation quux par_trailing_space_line_continuation quux

View file

@ -347,6 +347,12 @@ par_test_build_and_install || echo "Warning: pod2html not found. Using old env_p
par_test_build_and_install /bin/bash: line 1: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel examples" "."/parallel_examples.pod > "."/parallel_examples.htmln \
par_test_build_and_install && mv "."/parallel_examples.htmln "."/parallel_examples.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_examples.html"
par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_examples.html
par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \ par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \
par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \ par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html"
@ -389,12 +395,6 @@ par_test_build_and_install || echo "Warning: pod2html not found. Using old nicel
par_test_build_and_install /bin/bash: line 1: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old niceload.html par_test_build_and_install Warning: pod2html not found. Using old niceload.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel examples" "."/parallel_examples.pod > "."/parallel_examples.htmln \
par_test_build_and_install && mv "."/parallel_examples.htmln "."/parallel_examples.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_examples.html"
par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_examples.html
par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \ par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \
par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \ par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html"
@ -523,6 +523,12 @@ par_test_build_and_install || echo "Warning: pod2html not found. Using old env_p
par_test_build_and_install /bin/bash: line 1: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel examples" "."/parallel_examples.pod > "."/parallel_examples.htmln \
par_test_build_and_install && mv "."/parallel_examples.htmln "."/parallel_examples.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_examples.html"
par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_examples.html
par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \ par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \
par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \ par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html"
@ -565,12 +571,6 @@ par_test_build_and_install || echo "Warning: pod2html not found. Using old nicel
par_test_build_and_install /bin/bash: line 1: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old niceload.html par_test_build_and_install Warning: pod2html not found. Using old niceload.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel examples" "."/parallel_examples.pod > "."/parallel_examples.htmln \
par_test_build_and_install && mv "."/parallel_examples.htmln "."/parallel_examples.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_examples.html"
par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_examples.html
par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \ par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \
par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \ par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html"

View file

@ -1569,12 +1569,12 @@ par_macron
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: 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 ### BUG: The length for -X is not close to max (131072)
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 63xxx
par_memfree ### test memfree - it should be killed by timeout par_memfree ### test memfree - it should be killed by timeout
par_memfree Free mem: 1k par_memfree Free mem: 1k
par_memfree parallel: Warning: This job was killed because it timed out: par_memfree parallel: Warning: This job was killed because it timed out:

View file

@ -6,7 +6,7 @@ par_10000_5_rpl_X 3
par_10000_5_rpl_X 2 par_10000_5_rpl_X 2
par_10000_m_X ### Test -m with 10000 args par_10000_m_X ### Test -m with 10000 args
par_10000_m_X 3 29994 186685 par_10000_m_X 3 29994 186685
par_10000_m_X 68c56110ece48d4cd34af322ea65ebaf - par_10000_m_X 5642f8f374aa4881e96f4f49e932d109 -
par_X_I_meta ### Test -X -I with shell meta chars par_X_I_meta ### Test -X -I with shell meta chars
par_X_I_meta 3 par_X_I_meta 3
par_X_I_meta 3 par_X_I_meta 3
@ -656,8 +656,8 @@ par_shebang sh A
par_shebang sh B par_shebang sh B
par_shebang sh C par_shebang sh C
par_show_limits ### Test --show-limits par_show_limits ### Test --show-limits
par_show_limits Maximal size of command: 131xxx par_show_limits Maximal size of command: 130xxx
par_show_limits Maximal usable size of command: 64xxx par_show_limits Maximal usable size of command: 63xxx
par_show_limits par_show_limits
par_show_limits Execution will continue now, and it will try to read its input par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits and run commands; if this is not what you wanted to happen, please
@ -665,7 +665,7 @@ par_show_limits press CTRL-D or CTRL-C
par_show_limits bar par_show_limits bar
par_show_limits car par_show_limits car
par_show_limits far par_show_limits far
par_show_limits Maximal size of command: 131xxx par_show_limits Maximal size of command: 130xxx
par_show_limits Maximal usable size of command: 100 par_show_limits Maximal usable size of command: 100
par_show_limits par_show_limits
par_show_limits Execution will continue now, and it will try to read its input par_show_limits Execution will continue now, and it will try to read its input
@ -673,8 +673,8 @@ par_show_limits and run commands; if this is not what you wanted to happen, plea
par_show_limits press CTRL-D or CTRL-C par_show_limits press CTRL-D or CTRL-C
par_show_limits bar car far par_show_limits bar car far
par_show_limits ### BUG: empty lines with --show-limit par_show_limits ### BUG: empty lines with --show-limit
par_show_limits Maximal size of command: 131xxx par_show_limits Maximal size of command: 130xxx
par_show_limits Maximal usable size of command: 64xxx par_show_limits Maximal usable size of command: 63xxx
par_show_limits par_show_limits
par_show_limits Execution will continue now, and it will try to read its input par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits and run commands; if this is not what you wanted to happen, please

View file

@ -219,74 +219,74 @@ par_command_len_shellquote -Slo -j10 ' 10 7 0 0 0
par_command_len_shellquote -Slo -j10 ' 10 8 0 0 0 par_command_len_shellquote -Slo -j10 ' 10 8 0 0 0
par_command_len_shellquote -Slo -j10 ' 10 9 0 0 0 par_command_len_shellquote -Slo -j10 ' 10 9 0 0 0
par_command_len_shellquote -Slo -j10 ' 10 10 0 0 0 par_command_len_shellquote -Slo -j10 ' 10 10 0 0 0
par_command_len_shellquote -Slo -j10 " 1 9 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: " par_command_len_shellquote -Slo -j10 " 1 9 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: "
par_command_len_shellquote -Slo -j10 " 1 10 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: " par_command_len_shellquote -Slo -j10 " 1 10 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: "
par_command_len_shellquote -Slo -j10 " 2 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "" par_command_len_shellquote -Slo -j10 " 2 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ""
par_command_len_shellquote -Slo -j10 " 2 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "" par_command_len_shellquote -Slo -j10 " 2 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ""
par_command_len_shellquote -Slo -j10 " 2 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "" par_command_len_shellquote -Slo -j10 " 2 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ""
par_command_len_shellquote -Slo -j10 " 3 8 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: """ par_command_len_shellquote -Slo -j10 " 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: """
par_command_len_shellquote -Slo -j10 " 3 9 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: """ par_command_len_shellquote -Slo -j10 " 3 9 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: """
par_command_len_shellquote -Slo -j10 " 3 10 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: """ par_command_len_shellquote -Slo -j10 " 3 10 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: """
par_command_len_shellquote -Slo -j10 " 4 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: """" par_command_len_shellquote -Slo -j10 " 4 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: """"
par_command_len_shellquote -Slo -j10 " 4 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: """" par_command_len_shellquote -Slo -j10 " 4 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: """"
par_command_len_shellquote -Slo -j10 " 4 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: """" par_command_len_shellquote -Slo -j10 " 4 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: """"
par_command_len_shellquote -Slo -j10 " 5 8 parallel: Error: Command line too long (164xxx >= 64xxx) at input 0: """"" par_command_len_shellquote -Slo -j10 " 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) at input 0: """""
par_command_len_shellquote -Slo -j10 " 5 9 parallel: Error: Command line too long (492xxx >= 64xxx) at input 0: """"" par_command_len_shellquote -Slo -j10 " 5 9 parallel: Error: Command line too long (492xxx >= 63xxx) at input 0: """""
par_command_len_shellquote -Slo -j10 " 5 10 parallel: Error: Command line too long (1476xxx >= 64xxx) at input 0: """"" par_command_len_shellquote -Slo -j10 " 5 10 parallel: Error: Command line too long (1476xxx >= 63xxx) at input 0: """""
par_command_len_shellquote -Slo -j10 " 6 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: """""" par_command_len_shellquote -Slo -j10 " 6 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote -Slo -j10 " 6 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: """""" par_command_len_shellquote -Slo -j10 " 6 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote -Slo -j10 " 6 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: """""" par_command_len_shellquote -Slo -j10 " 6 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote -Slo -j10 " 6 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: """""" par_command_len_shellquote -Slo -j10 " 6 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote -Slo -j10 " 7 7 parallel: Error: Command line too long (76xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote -Slo -j10 " 7 7 parallel: Error: Command line too long (76xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote -Slo -j10 " 7 8 parallel: Error: Command line too long (229xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote -Slo -j10 " 7 8 parallel: Error: Command line too long (229xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote -Slo -j10 " 7 9 parallel: Error: Command line too long (688xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote -Slo -j10 " 7 9 parallel: Error: Command line too long (688xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote -Slo -j10 " 7 10 parallel: Error: Command line too long (2066xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote -Slo -j10 " 7 10 parallel: Error: Command line too long (2066xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote -Slo -j10 " 8 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote -Slo -j10 " 8 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote -Slo -j10 " 8 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote -Slo -j10 " 8 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote -Slo -j10 " 8 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote -Slo -j10 " 8 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote -Slo -j10 " 8 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote -Slo -j10 " 8 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote -Slo -j10 " 9 7 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote -Slo -j10 " 9 7 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote -Slo -j10 " 9 8 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote -Slo -j10 " 9 8 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote -Slo -j10 " 9 9 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote -Slo -j10 " 9 9 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote -Slo -j10 " 9 10 parallel: Error: Command line too long (2657xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote -Slo -j10 " 9 10 parallel: Error: Command line too long (2657xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote -Slo -j10 " 10 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote -Slo -j10 " 10 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote -Slo -j10 " 10 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote -Slo -j10 " 10 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote -Slo -j10 " 10 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote -Slo -j10 " 10 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote -Slo -j10 " 10 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote -Slo -j10 " 10 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote -Slo -j10 ' 1 9 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: ' par_command_len_shellquote -Slo -j10 ' 1 9 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: '
par_command_len_shellquote -Slo -j10 ' 1 10 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: ' par_command_len_shellquote -Slo -j10 ' 1 10 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: '
par_command_len_shellquote -Slo -j10 ' 2 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: '' par_command_len_shellquote -Slo -j10 ' 2 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ''
par_command_len_shellquote -Slo -j10 ' 2 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: '' par_command_len_shellquote -Slo -j10 ' 2 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ''
par_command_len_shellquote -Slo -j10 ' 2 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: '' par_command_len_shellquote -Slo -j10 ' 2 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ''
par_command_len_shellquote -Slo -j10 ' 3 8 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: ''' par_command_len_shellquote -Slo -j10 ' 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: '''
par_command_len_shellquote -Slo -j10 ' 3 9 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: ''' par_command_len_shellquote -Slo -j10 ' 3 9 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: '''
par_command_len_shellquote -Slo -j10 ' 3 10 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: ''' par_command_len_shellquote -Slo -j10 ' 3 10 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: '''
par_command_len_shellquote -Slo -j10 ' 4 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: '''' par_command_len_shellquote -Slo -j10 ' 4 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote -Slo -j10 ' 4 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: '''' par_command_len_shellquote -Slo -j10 ' 4 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote -Slo -j10 ' 4 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: '''' par_command_len_shellquote -Slo -j10 ' 4 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote -Slo -j10 ' 5 8 parallel: Error: Command line too long (164xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote -Slo -j10 ' 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote -Slo -j10 ' 5 9 parallel: Error: Command line too long (492xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote -Slo -j10 ' 5 9 parallel: Error: Command line too long (492xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote -Slo -j10 ' 5 10 parallel: Error: Command line too long (1476xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote -Slo -j10 ' 5 10 parallel: Error: Command line too long (1476xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote -Slo -j10 ' 6 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote -Slo -j10 ' 6 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote -Slo -j10 ' 6 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote -Slo -j10 ' 6 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote -Slo -j10 ' 6 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote -Slo -j10 ' 6 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote -Slo -j10 ' 6 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote -Slo -j10 ' 6 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote -Slo -j10 ' 7 7 parallel: Error: Command line too long (76xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote -Slo -j10 ' 7 7 parallel: Error: Command line too long (76xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote -Slo -j10 ' 7 8 parallel: Error: Command line too long (229xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote -Slo -j10 ' 7 8 parallel: Error: Command line too long (229xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote -Slo -j10 ' 7 9 parallel: Error: Command line too long (688xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote -Slo -j10 ' 7 9 parallel: Error: Command line too long (688xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote -Slo -j10 ' 7 10 parallel: Error: Command line too long (2066xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote -Slo -j10 ' 7 10 parallel: Error: Command line too long (2066xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote -Slo -j10 ' 8 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote -Slo -j10 ' 8 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote -Slo -j10 ' 8 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote -Slo -j10 ' 8 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote -Slo -j10 ' 8 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote -Slo -j10 ' 8 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote -Slo -j10 ' 8 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote -Slo -j10 ' 8 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote -Slo -j10 ' 9 7 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote -Slo -j10 ' 9 7 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote -Slo -j10 ' 9 8 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote -Slo -j10 ' 9 8 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote -Slo -j10 ' 9 9 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote -Slo -j10 ' 9 9 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote -Slo -j10 ' 9 10 parallel: Error: Command line too long (2657xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote -Slo -j10 ' 9 10 parallel: Error: Command line too long (2657xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote -Slo -j10 ' 10 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote -Slo -j10 ' 10 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote -Slo -j10 ' 10 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote -Slo -j10 ' 10 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote -Slo -j10 ' 10 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote -Slo -j10 ' 10 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote -Slo -j10 ' 10 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote -Slo -j10 ' 10 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote " 1 1 1 2 6 par_command_len_shellquote " 1 1 1 2 6
par_command_len_shellquote " 1 2 1 2 12 par_command_len_shellquote " 1 2 1 2 12
par_command_len_shellquote " 1 3 1 2 30 par_command_len_shellquote " 1 3 1 2 30
@ -487,86 +487,86 @@ par_command_len_shellquote ' 10 7 0 0 0
par_command_len_shellquote ' 10 8 0 0 0 par_command_len_shellquote ' 10 8 0 0 0
par_command_len_shellquote ' 10 9 0 0 0 par_command_len_shellquote ' 10 9 0 0 0
par_command_len_shellquote ' 10 10 0 0 0 par_command_len_shellquote ' 10 10 0 0 0
par_command_len_shellquote " 1 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: " par_command_len_shellquote " 1 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: "
par_command_len_shellquote " 1 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: " par_command_len_shellquote " 1 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: "
par_command_len_shellquote " 1 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: " par_command_len_shellquote " 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: "
par_command_len_shellquote " 2 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: "" par_command_len_shellquote " 2 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: ""
par_command_len_shellquote " 2 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: "" par_command_len_shellquote " 2 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: ""
par_command_len_shellquote " 2 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: "" par_command_len_shellquote " 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: ""
par_command_len_shellquote " 3 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: """ par_command_len_shellquote " 3 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: """
par_command_len_shellquote " 3 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: """ par_command_len_shellquote " 3 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: """
par_command_len_shellquote " 3 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: """ par_command_len_shellquote " 3 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: """
par_command_len_shellquote " 3 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: """ par_command_len_shellquote " 3 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: """
par_command_len_shellquote " 4 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: """" par_command_len_shellquote " 4 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: """"
par_command_len_shellquote " 4 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: """" par_command_len_shellquote " 4 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: """"
par_command_len_shellquote " 4 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: """" par_command_len_shellquote " 4 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: """"
par_command_len_shellquote " 4 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: """" par_command_len_shellquote " 4 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: """"
par_command_len_shellquote " 5 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: """"" par_command_len_shellquote " 5 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: """""
par_command_len_shellquote " 5 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: """"" par_command_len_shellquote " 5 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: """""
par_command_len_shellquote " 5 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: """"" par_command_len_shellquote " 5 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: """""
par_command_len_shellquote " 5 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: """"" par_command_len_shellquote " 5 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: """""
par_command_len_shellquote " 6 7 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: """""" par_command_len_shellquote " 6 7 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote " 6 8 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: """""" par_command_len_shellquote " 6 8 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote " 6 9 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: """""" par_command_len_shellquote " 6 9 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote " 6 10 parallel: Error: Command line too long (3542xxx >= 64xxx) at input 0: """""" par_command_len_shellquote " 6 10 parallel: Error: Command line too long (3542xxx >= 63xxx) at input 0: """"""
par_command_len_shellquote " 7 7 parallel: Error: Command line too long (153xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote " 7 7 parallel: Error: Command line too long (153xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote " 7 8 parallel: Error: Command line too long (459xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote " 7 8 parallel: Error: Command line too long (459xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote " 7 9 parallel: Error: Command line too long (1377xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote " 7 9 parallel: Error: Command line too long (1377xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote " 7 10 parallel: Error: Command line too long (4133xxx >= 64xxx) at input 0: """"""" par_command_len_shellquote " 7 10 parallel: Error: Command line too long (4133xxx >= 63xxx) at input 0: """""""
par_command_len_shellquote " 8 7 parallel: Error: Command line too long (174xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote " 8 7 parallel: Error: Command line too long (174xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote " 8 8 parallel: Error: Command line too long (524xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote " 8 8 parallel: Error: Command line too long (524xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote " 8 9 parallel: Error: Command line too long (1574xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote " 8 9 parallel: Error: Command line too long (1574xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote " 8 10 parallel: Error: Command line too long (4723xxx >= 64xxx) at input 0: """""""" par_command_len_shellquote " 8 10 parallel: Error: Command line too long (4723xxx >= 63xxx) at input 0: """"""""
par_command_len_shellquote " 9 6 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote " 9 6 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote " 9 7 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote " 9 7 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote " 9 8 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote " 9 8 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote " 9 9 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote " 9 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote " 9 10 parallel: Error: Command line too long (5314xxx >= 64xxx) at input 0: """"""""" par_command_len_shellquote " 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) at input 0: """""""""
par_command_len_shellquote " 10 6 parallel: Error: Command line too long (72xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote " 10 6 parallel: Error: Command line too long (72xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote " 10 7 parallel: Error: Command line too long (218xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote " 10 7 parallel: Error: Command line too long (218xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote " 10 8 parallel: Error: Command line too long (656xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote " 10 8 parallel: Error: Command line too long (656xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote " 10 9 parallel: Error: Command line too long (1968xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote " 10 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote " 10 10 parallel: Error: Command line too long (5904xxx >= 64xxx) at input 0: """""""""" par_command_len_shellquote " 10 10 parallel: Error: Command line too long (5904xxx >= 63xxx) at input 0: """"""""""
par_command_len_shellquote ' 1 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: ' par_command_len_shellquote ' 1 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: '
par_command_len_shellquote ' 1 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: ' par_command_len_shellquote ' 1 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: '
par_command_len_shellquote ' 1 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: ' par_command_len_shellquote ' 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: '
par_command_len_shellquote ' 2 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: '' par_command_len_shellquote ' 2 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: ''
par_command_len_shellquote ' 2 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: '' par_command_len_shellquote ' 2 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: ''
par_command_len_shellquote ' 2 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: '' par_command_len_shellquote ' 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: ''
par_command_len_shellquote ' 3 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: ''' par_command_len_shellquote ' 3 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: '''
par_command_len_shellquote ' 3 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: ''' par_command_len_shellquote ' 3 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: '''
par_command_len_shellquote ' 3 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: ''' par_command_len_shellquote ' 3 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: '''
par_command_len_shellquote ' 3 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: ''' par_command_len_shellquote ' 3 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: '''
par_command_len_shellquote ' 4 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: '''' par_command_len_shellquote ' 4 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote ' 4 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: '''' par_command_len_shellquote ' 4 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote ' 4 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: '''' par_command_len_shellquote ' 4 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote ' 4 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: '''' par_command_len_shellquote ' 4 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: ''''
par_command_len_shellquote ' 5 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote ' 5 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote ' 5 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote ' 5 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote ' 5 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote ' 5 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote ' 5 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: ''''' par_command_len_shellquote ' 5 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: '''''
par_command_len_shellquote ' 6 7 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote ' 6 7 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote ' 6 8 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote ' 6 8 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote ' 6 9 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote ' 6 9 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote ' 6 10 parallel: Error: Command line too long (3542xxx >= 64xxx) at input 0: '''''' par_command_len_shellquote ' 6 10 parallel: Error: Command line too long (3542xxx >= 63xxx) at input 0: ''''''
par_command_len_shellquote ' 7 7 parallel: Error: Command line too long (153xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote ' 7 7 parallel: Error: Command line too long (153xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote ' 7 8 parallel: Error: Command line too long (459xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote ' 7 8 parallel: Error: Command line too long (459xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote ' 7 9 parallel: Error: Command line too long (1377xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote ' 7 9 parallel: Error: Command line too long (1377xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote ' 7 10 parallel: Error: Command line too long (4133xxx >= 64xxx) at input 0: ''''''' par_command_len_shellquote ' 7 10 parallel: Error: Command line too long (4133xxx >= 63xxx) at input 0: '''''''
par_command_len_shellquote ' 8 7 parallel: Error: Command line too long (174xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote ' 8 7 parallel: Error: Command line too long (174xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote ' 8 8 parallel: Error: Command line too long (524xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote ' 8 8 parallel: Error: Command line too long (524xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote ' 8 9 parallel: Error: Command line too long (1574xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote ' 8 9 parallel: Error: Command line too long (1574xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote ' 8 10 parallel: Error: Command line too long (4723xxx >= 64xxx) at input 0: '''''''' par_command_len_shellquote ' 8 10 parallel: Error: Command line too long (4723xxx >= 63xxx) at input 0: ''''''''
par_command_len_shellquote ' 9 6 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote ' 9 6 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote ' 9 7 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote ' 9 7 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote ' 9 8 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote ' 9 8 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote ' 9 9 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote ' 9 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote ' 9 10 parallel: Error: Command line too long (5314xxx >= 64xxx) at input 0: ''''''''' par_command_len_shellquote ' 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) at input 0: '''''''''
par_command_len_shellquote ' 10 6 parallel: Error: Command line too long (72xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote ' 10 6 parallel: Error: Command line too long (72xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote ' 10 7 parallel: Error: Command line too long (218xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote ' 10 7 parallel: Error: Command line too long (218xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote ' 10 8 parallel: Error: Command line too long (656xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote ' 10 8 parallel: Error: Command line too long (656xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote ' 10 9 parallel: Error: Command line too long (1968xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote ' 10 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: ''''''''''
par_command_len_shellquote ' 10 10 parallel: Error: Command line too long (5904xxx >= 64xxx) at input 0: '''''''''' par_command_len_shellquote ' 10 10 parallel: Error: Command line too long (5904xxx >= 63xxx) at input 0: ''''''''''
par_basefile_cleanup ### bug #46520: --basefile cleans up without --cleanup par_basefile_cleanup ### bug #46520: --basefile cleans up without --cleanup
par_basefile_cleanup bug_46520 par_basefile_cleanup bug_46520
par_basefile_cleanup bug_46520 par_basefile_cleanup bug_46520

View file

@ -459,7 +459,7 @@ echo '### true < 32767-ys.xi'
### true < 32767-ys.xi ### true < 32767-ys.xi
stdout xargs true < 32767-ys.xi stdout xargs true < 32767-ys.xi
stdout parallel -k true < 32767-ys.xi stdout parallel -k true < 32767-ys.xi
parallel: Error: Command line too long (65541 >= 64031) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ... parallel: Error: Command line too long (65541 >= 63664) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ...
echo '### true < 16383-ys.xi' echo '### true < 16383-ys.xi'
### true < 16383-ys.xi ### true < 16383-ys.xi
stdout xargs true < 16383-ys.xi stdout xargs true < 16383-ys.xi

View file

@ -1,16 +1,16 @@
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$ echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$
### Test of xargs -m command lines > 130k ### Test of xargs -m command lines > 130k
2f0d9d11a071f5dbe6bd876a19499ff5 - a3c892de2524f32f78550b47336eadd0 -
Chars per line: 63437 Chars per line: 63437
11 119989 697810 11 119989 697810
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$ echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
### Test of xargs -X command lines > 130k ### Test of xargs -X command lines > 130k
42d5c115907de0044ef988a0639204cd - a98747678a5d18c4470a073812437ab2 -
Chars per line: 62906 Chars per line: 62906
13 60000 817788 13 60000 817788
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
### Test of xargs -m command lines > 130k ### Test of xargs -m command lines > 130k
0896c693a7d42440f31c13c803d27df2 - ba869d577103ef0cc6b6045c2a618c43 -
echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec. echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec.
### This causes problems if we kill child processes ### This causes problems if we kill child processes
seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum

View file

@ -59,9 +59,9 @@ please cite as described in 'parallel --citation'.
echo '### bug #39787: --xargs broken' echo '### bug #39787: --xargs broken'
### bug #39787: --xargs broken ### bug #39787: --xargs broken
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"' nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
64026 63654
64026 63654
40842 41586
echo '### --delay should grow by 3 sec per arg' echo '### --delay should grow by 3 sec per arg'
### --delay should grow by 3 sec per arg ### --delay should grow by 3 sec per arg
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"' stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'

View file

@ -343,7 +343,7 @@ a1b1^c1[.}c
echo "### BUG: The length for -X is not close to max (131072)" echo "### BUG: The length for -X is not close to max (131072)"
### BUG: The length for -X is not close to max (131072) ### BUG: The length for -X is not close to max (131072)
seq 1 4000 | nice parallel -k -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc seq 1 4000 | nice parallel -k -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc
1 6725 64004 1 6693 63652
echo '### Test -N' echo '### Test -N'
### Test -N ### Test -N
seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3} seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3}