Documentation update.

This commit is contained in:
Ole Tange 2018-01-14 05:27:48 +01:00
parent a048f547eb
commit a9dc4fdf32
6 changed files with 105 additions and 77 deletions

8
NEWS
View file

@ -84,9 +84,6 @@
http://meta.askubuntu.com/a/16750/22307 http://meta.askubuntu.com/a/16750/22307
http://meta.serverfault.com/a/9040/45704 http://meta.serverfault.com/a/9040/45704
* GNU Parallel was cited in:
https://springerplus.springeropen.com/articles/10.1186/s40064-016-2022-y
* Edit images with GNU Parallel and ImageMagick * Edit images with GNU Parallel and ImageMagick
https://fedoramagazine.org/edit-images-parallel-imagemagick/ https://fedoramagazine.org/edit-images-parallel-imagemagick/
@ -1478,8 +1475,7 @@ New in this release:
Substation Cable Installation Problem Substation Cable Installation Problem
http://i11www.iti.uni-karlsruhe.de/_media/teaching/theses/ma-schmitz-14.pdf http://i11www.iti.uni-karlsruhe.de/_media/teaching/theses/ma-schmitz-14.pdf
* GNU Parallel was used in: landsat-gifworks * GNU Parallel was used in: https://github.com/KAPPS-/landsat-gifworks
https://github.com/KAPPS-/landsat-gifworks
* GNU Parallel was used in: https://github.com/exascience/elprep * GNU Parallel was used in: https://github.com/exascience/elprep
@ -2390,7 +2386,7 @@ New in this release:
* --transfer and --basefile support paths relative to the --workdir by * --transfer and --basefile support paths relative to the --workdir by
inserting /./ into the path. inserting /./ into the path.
* GNU Parallel was cited in: 'fastphylo: Fast tools for phylogenetics' * GNU Parallel was cited in: fastphylo: Fast tools for phylogenetics
http://www.biomedcentral.com/1471-2105/14/334/abstract http://www.biomedcentral.com/1471-2105/14/334/abstract
* Using GNU parallel * Using GNU parallel

View file

@ -210,6 +210,8 @@ Haiku of the month:
New in this release: New in this release:
* 15分钟神器gnu parallel 入门观止 http://www.ezilin.com/2018/01/15gnu-parallel.html
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>> <<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>>

View file

@ -23,7 +23,7 @@ instead that explains how to install the function.
B<env_parallel> is beta quality and not production ready, but please B<env_parallel> is beta quality and not production ready, but please
use it for everyday use and report bugs. use it for everyday use and report bugs.
B<env_parallel> is 0.1 sec slower at startup than pure GNU B<env_parallel> is 100 ms slower at startup than pure GNU
B<parallel>, and takes up to 30% longer to start a job (typically 15 ms). B<parallel>, and takes up to 30% longer to start a job (typically 15 ms).
Due to the problem with environment space (see below) the recommended Due to the problem with environment space (see below) the recommended
@ -88,10 +88,7 @@ Same as GNU B<parallel>.
=head2 Ash =head2 Ash
B<--env> is supported to export only the variable, or alias with the =head3 Installation
given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.profile: Put this in $HOME/.profile:
@ -101,6 +98,11 @@ E.g. by doing:
echo '. `which env_parallel.ash`' >> $HOME/.profile echo '. `which env_parallel.ash`' >> $HOME/.profile
=head3 Supported use
B<--env> is supported to export only the variable, or alias with the
given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -138,10 +140,7 @@ Arrays are not supported by Ash.
=head2 Bash =head2 Bash
B<--env> is supported to export only the variable, alias, function, or =head3 Installation
array with the given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.bashrc: Put this in $HOME/.bashrc:
@ -151,6 +150,11 @@ E.g. by doing:
echo '. `which env_parallel.bash`' >> $HOME/.bashrc echo '. `which env_parallel.bash`' >> $HOME/.bashrc
=head3 Supported use
B<--env> is supported to export only the variable, alias, function, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -194,24 +198,22 @@ E.g. by doing:
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray -S server \
echo '${myarray[{}]}' ::: 0 1 2
=back =back
=head3 BUGS =head3 BUGS
Due to a bug in Bash aliases containing newlines must be followed by a Due to a bug in Bash, aliases containing newlines must be followed by
newline in the command. a newline in the command.
=head2 csh =head2 csh
B<--env> is supported to export only the variable, alias, or
array with the given name. Multiple B<--env>s can be given.
B<env_parallel> for B<csh> breaks B<$PARALLEL>, so do not use B<env_parallel> for B<csh> breaks B<$PARALLEL>, so do not use
B<$PARALLEL>. B<$PARALLEL>.
Installation =head3 Installation
Put this in $HOME/.cshrc: Put this in $HOME/.cshrc:
@ -221,6 +223,11 @@ E.g. by doing:
echo 'source `which env_parallel.csh`' >> $HOME/.cshrc echo 'source `which env_parallel.csh`' >> $HOME/.cshrc
=head3 Supported use
B<--env> is supported to export only the variable, alias, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -249,17 +256,15 @@ Not supported by B<csh>.
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \
echo \$'{myarray[{}]}' ::: 1 2 3
=back =back
=head2 Dash =head2 Dash
B<--env> is supported to export only the variable, or alias with the =head3 Installation
given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.profile: Put this in $HOME/.profile:
@ -269,6 +274,11 @@ E.g. by doing:
echo '. `which env_parallel.dash`' >> $HOME/.profile echo '. `which env_parallel.dash`' >> $HOME/.profile
=head3 Supported use
B<--env> is supported to export only the variable, or alias with the
given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -307,10 +317,7 @@ E.g. by doing:
=head2 fish =head2 fish
B<--env> is supported to export only the variable, alias, function, or =head3 Installation
array with the given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.config/fish/config.fish: Put this in $HOME/.config/fish/config.fish:
@ -318,7 +325,13 @@ Put this in $HOME/.config/fish/config.fish:
E.g. by doing: E.g. by doing:
echo 'source (which env_parallel.fish)' >> $HOME/.config/fish/config.fish echo 'source (which env_parallel.fish)' \
>> $HOME/.config/fish/config.fish
=head3 Supported use
B<--env> is supported to export only the variable, alias, function, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
@ -354,17 +367,15 @@ E.g. by doing:
env_parallel -k echo '$myarray[{}]' ::: 1 2 3 env_parallel -k echo '$myarray[{}]' ::: 1 2 3
env_parallel -k -S server echo '$myarray[{}]' ::: 1 2 3 env_parallel -k -S server echo '$myarray[{}]' ::: 1 2 3
env_parallel -k --env myarray echo '$myarray[{}]' ::: 1 2 3 env_parallel -k --env myarray echo '$myarray[{}]' ::: 1 2 3
env_parallel -k --env myarray -S server echo '$myarray[{}]' ::: 1 2 3 env_parallel -k --env myarray -S server \
echo '$myarray[{}]' ::: 1 2 3
=back =back
=head2 ksh =head2 ksh
B<--env> is supported to export only the variable, alias, function, or =head3 Installation
array with the given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.kshrc: Put this in $HOME/.kshrc:
@ -374,6 +385,11 @@ E.g. by doing:
echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
=head3 Supported use
B<--env> is supported to export only the variable, alias, function, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -413,17 +429,15 @@ E.g. by doing:
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray -S server \
echo '${myarray[{}]}' ::: 0 1 2
=back =back
=head2 pdksh =head2 pdksh
B<--env> is supported to export only the variable, alias, function, or =head3 Installation
array with the given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.profile: Put this in $HOME/.profile:
@ -433,6 +447,11 @@ E.g. by doing:
echo 'source `which env_parallel.pdksh`' >> $HOME/.profile echo 'source `which env_parallel.pdksh`' >> $HOME/.profile
=head3 Supported use
B<--env> is supported to export only the variable, alias, function, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -465,17 +484,15 @@ E.g. by doing:
env_parallel -k echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k echo "\${myarray[{}]}" ::: 0 1 2;
env_parallel -k -S server echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k -S server echo "\${myarray[{}]}" ::: 0 1 2;
env_parallel -k --env myarray echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k --env myarray echo "\${myarray[{}]}" ::: 0 1 2;
env_parallel -k --env myarray -S server echo "\${myarray[{}]}" ::: 0 1 2 env_parallel -k --env myarray -S server \
echo "\${myarray[{}]}" ::: 0 1 2
=back =back
=head2 sh =head2 sh
B<--env> is supported to export only the variable, or alias with the =head3 Installation
given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.profile: Put this in $HOME/.profile:
@ -485,6 +502,11 @@ E.g. by doing:
echo '. `which env_parallel.sh`' >> $HOME/.profile echo '. `which env_parallel.sh`' >> $HOME/.profile
=head3 Supported use
B<--env> is supported to export only the variable, or alias with the
given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -516,13 +538,10 @@ E.g. by doing:
=head2 tcsh =head2 tcsh
B<--env> is supported to export only the variable, alias, or
array with the given name. Multiple B<--env>s can be given.
B<env_parallel> for B<tcsh> breaks B<$PARALLEL>, so do not use B<env_parallel> for B<tcsh> breaks B<$PARALLEL>, so do not use
B<$PARALLEL>. B<$PARALLEL>.
Installation =head3 Installation
Put this in $HOME/.tcshrc: Put this in $HOME/.tcshrc:
@ -532,6 +551,11 @@ E.g. by doing:
echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc
=head3 Supported use
B<--env> is supported to export only the variable, alias, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -560,17 +584,15 @@ Not supported by B<tcsh>.
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \
echo \$'{myarray[{}]}' ::: 1 2 3
=back =back
=head2 Zsh =head2 Zsh
B<--env> is supported to export only the variable, alias, function, or =head3 Installation
array with the given name. Multiple B<--env>s can be given.
Installation
Put this in $HOME/.zshrc: Put this in $HOME/.zshrc:
@ -580,6 +602,11 @@ E.g. by doing:
echo '. `which env_parallel.zsh`' >> $HOME/.zshenv echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
=head3 Supported use
B<--env> is supported to export only the variable, alias, function, or
array with the given name. Multiple B<--env>s can be given.
=over 8 =over 8
=item aliases =item aliases
@ -619,7 +646,8 @@ E.g. by doing:
env_parallel -k echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k echo '${myarray[{}]}' ::: 1 2 3
env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \
echo '${myarray[{}]}' ::: 1 2 3
=back =back
@ -763,10 +791,8 @@ B<env_parallel> uses GNU B<parallel>.
=head1 SEE ALSO =head1 SEE ALSO
B<parallel>(1), B<parallel>(1), B<ash>(1), B<bash>(1), B<csh>(1), B<dash>(1),
B<fish>(1), B<ksh>(1), B<pdksh>(1) B<tcsh>(1), B<zsh>(1).
B<ash>(1), B<bash>(1), B<csh>(1), B<dash>(1), B<fish>(1), B<ksh>(1),
B<pdksh>(1) B<tcsh>(1), B<zsh>(1).
=cut =cut

View file

@ -1391,7 +1391,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20171224; $Global::version = 20180107;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;
@ -2240,7 +2240,7 @@ sub perl_quote_scalar {
# Inputs: # Inputs:
# $string = string to be quoted # $string = string to be quoted
# Returns: # Returns:
# $shell_quoted = string quoted with \ as needed by perl's eval # $perl_quoted = string quoted with \ as needed by perl's eval
my $a = $_[0]; my $a = $_[0];
if(defined $a) { if(defined $a) {
$a =~ s/[\\\"\$\@]/\\$&/go; $a =~ s/[\\\"\$\@]/\\$&/go;
@ -4101,7 +4101,7 @@ sub citation_notice {
"This helps funding further development; AND IT WON'T COST YOU A CENT.", "This helps funding further development; AND IT WON'T COST YOU A CENT.",
"If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.",
"", "",
"To silence this citation notice: run 'parallel --citation'.", "To silence this citation notice: run 'parallel --citation' once.",
"" ""
); );
} }
@ -9072,7 +9072,7 @@ sub set_exitsignal {
} elsif($Global::halt_success) { } elsif($Global::halt_success) {
::status("$Global::progname: This job succeeded:", ::status("$Global::progname: This job succeeded:",
$job->replaced()); $job->replaced());
$limit = $Global::total_completed-$Global::total_failed; $limit = $Global::total_completed - $Global::total_failed;
} }
if($Global::halt_done) { if($Global::halt_done) {
::status("$Global::progname: This job finished:", ::status("$Global::progname: This job finished:",

View file

@ -555,7 +555,7 @@ B<--return>.
=item B<-C> I<regexp> =item B<-C> I<regexp>
Column separator. The input will be treated as a table with I<regexp> Column separator. The input will be treated as a table with I<regexp>
separating the columns. The n'th column can be access using separating the columns. The n'th column can be accessed using
B<{>I<n>B<}> or B<{>I<n>.B<}>. E.g. B<{3}> is the 3rd column. B<{>I<n>B<}> or B<{>I<n>.B<}>. E.g. B<{3}> is the 3rd column.
If there are more input sources, each input source will be separated, If there are more input sources, each input source will be separated,
@ -3974,7 +3974,7 @@ A mutex is a counting semaphore allowing only one job to run. This
will edit the file I<myfile> and prepends the file with lines with the will edit the file I<myfile> and prepends the file with lines with the
numbers 1 to 3. numbers 1 to 3.
seq 3 | parallel sem sed -i -e 'i{}' myfile seq 3 | parallel sem sed -i -e '1i{}' myfile
As I<myfile> can be very big it is important only one process edits As I<myfile> can be very big it is important only one process edits
the file at the same time. the file at the same time.
@ -4552,7 +4552,7 @@ host in serial, so if your B<--sshloginfile> contains many hosts it may
be slow. be slow.
If your jobs are short you may see that there are fewer jobs running If your jobs are short you may see that there are fewer jobs running
on the remove systems than expected. This is due to time spent logging on the remote systems than expected. This is due to time spent logging
in and out. B<-M> may help here. in and out. B<-M> may help here.
=head3 Disk access =head3 Disk access
@ -4583,7 +4583,7 @@ of the jobs will be stuck waiting for disk access.
The current implementation of B<--nice> is too pessimistic in the max The current implementation of B<--nice> is too pessimistic in the max
allowed command length. It only uses a little more than half of what allowed command length. It only uses a little more than half of what
it could. This affects B<-X> and B<-m>. If this becomes a real problem for it could. This affects B<-X> and B<-m>. If this becomes a real problem for
you file a bug-report. you, file a bug-report.
=head2 Aliases and functions do not work =head2 Aliases and functions do not work
@ -4595,10 +4595,14 @@ or:
open3: exec of by command failed open3: exec of by command failed
or:
/bin/bash: command: command not found
it may be because I<command> is not known, but it could also be it may be because I<command> is not known, but it could also be
because I<command> is an alias or a function. If it is a function you because I<command> is an alias or a function. If it is a function you
need to B<export -f> the function first. An alias will only work if need to B<export -f> the function first or use B<env_parallel>. An
you use B<env_parallel>. alias will only work if you use B<env_parallel>.
=head1 REPORTING BUGS =head1 REPORTING BUGS

View file

@ -131,18 +131,18 @@ but must instead use a tempfile:
seq 3 > parallel_input seq 3 > parallel_input
parset res1,res2,res3 echo :::: parallel_input parset res1,res2,res3 echo :::: parallel_input
echo "res1" echo "$res1"
echo "res2" echo "$res2"
echo "res3" echo "$res3"
or a FIFO: or a FIFO:
mkfifo input_fifo mkfifo input_fifo
seq 3 > input_fifo & seq 3 > input_fifo &
parset res1,res2,res3 echo :::: input_fifo parset res1,res2,res3 echo :::: input_fifo
echo "res1" echo "$res1"
echo "res2" echo "$res2"
echo "res3" echo "$res3"
=head3 Installation =head3 Installation