Released as 20170222 ('13769')

This commit is contained in:
Ole Tange 2017-02-22 00:30:36 +01:00
parent 5ea9f57ba7
commit 68610ea9dd
19 changed files with 231 additions and 75 deletions

83
NEWS
View file

@ -1,3 +1,86 @@
20170222
* env_parallel now supports /bin/sh, ash, dash.
* --tee will pipe all data to all jobs. Used with --pipe/--pipepart
and :::. Small example: seq 3333 | parallel --pipe --tee --tag 'grep
{} | wc -l' ::: {0..9}
* If --results {replstr} ends in /: save in dir. Otherwise save as
file. Example: parallel --results {} echo {} ::: a b c
* Vote for GNU Parallel's community ads on
http://meta.unix.stackexchange.com/a/4356/2972
http://meta.askubuntu.com/a/16750/22307
http://meta.serverfault.com/a/9040/45704
* GNU Parallel was cited in: Low-delay forwarding with multiple
candidates for VANETs using multi-criteria decision making
http://ieeexplore.ieee.org/document/7835961/
* GNU Parallel was cited in: An Integrated Simulator and Dataset that
Combines Grasping and Vision for Deep Learning
https://arxiv.org/pdf/1702.02103.pdf
* GNU Parallel was cited in: A Bayesian model selection approach for
identifying differentially expressed transcripts from RNA sequencing
data http://onlinelibrary.wiley.com/doi/10.1111/rssc.12213/full
* GNU Parallel was cited in: The impact of copy number variation on
gout, and the apple genome
https://ourarchive.otago.ac.nz/bitstream/handle/10523/7060/BoocockJames2016MSc.pdf?sequence=3
* GNU Parallel was cited in: Determination of crystal structures of
proteins of unknown identity using a marathon molecular replacement
procedure: structure of Stenotrophomonas maltophilia
phosphate-binding protein
https://www.researchgate.net/publication/308186413_Determination_of_crystal_structures_of_proteins_of_unknown_identity_using_a_marathon_molecular_replacement_procedure_Structure_of_Stenotrophomonas_maltophilia_phosphate-binding_protein
* GNU Parallel was cited in: Reaction rates for reaction-diffusion
kinetics on unstructured meshes
http://aip.scitation.org/doi/10.1063/1.4975167
* GNU Parallel was cited in: Modeling prediction error improves power
of transcriptome-wide association studies
http://biorxiv.org/content/biorxiv/early/2017/02/14/108316.full.pdf
* GNU Parallel was cited in: Proper experimental design requires
randomization/balancing of molecular ecology experiments
http://biorxiv.org/content/biorxiv/early/2017/02/17/109280.full.pdf
* GNU Parallel was cited in: Experiment-based thermal micromagnetic
simulations of the magnetization reversal for ns-range clocked
nanomagnetic logic
http://aip.scitation.org/doi/full/10.1063/1.4974021
* GNU Parallel was cited in: The University of Edinburghs systems
submission to the MT task at IWSLT
http://workshop2016.iwslt.org/downloads/IWSLT_2016_paper_27.pdf
* Fast-GBS uses GNU Parallel: https://bitbucket.org/jerlar73/fast-gbs
* Job: DevOps Engineer/Senior Systems Administrator in New York, New
York
http://rockefeller.jobs/new-york-ny/devops-engineersenior-systems-administrator/2DB3408EAC9E4617AD238550F31C7641/job/
* Training in GNU Parallel:
https://www.carc.unm.edu/education-outreach/workshops--training/
* Training in GNU Parallel:
http://www.hpc.lsu.edu/training/registration.php?topic=Parallel%20Serial%20Jobs%20Using%20GNU%20Parallel&date=February%2022,%202017&time=9:00%20AM%20-%2011:00%20AM&place=307%20Frey&deadline=2017-02-21%2016:30:00
* Batch Convert Images from PNG to JPEG
http://coreygoldberg.blogspot.dk/2017/02/batch-convert-images-from-png-to-jpeg.html
* Accelerating Oxford Nanopore Basecalling
http://fowlerlab.org/2017/01/26/accelerating-oxford-nanopore-basecalling/
* parallel и imagemagick в loop на bash
https://www.linux.org.ru/forum/development/13190247
* Bug fixes and man page updates.
20170206alpha 20170206alpha
* --tee introduced. * --tee introduced.

12
README
View file

@ -44,9 +44,9 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20170206.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20170222.tar.bz2
bzip2 -dc parallel-20170206.tar.bz2 | tar xvf - bzip2 -dc parallel-20170222.tar.bz2 | tar xvf -
cd parallel-20170206 cd parallel-20170222
./configure && make && sudo make install ./configure && make && sudo make install
@ -55,9 +55,9 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget http://ftpmirror.gnu.org/parallel/parallel-20170206.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20170222.tar.bz2
bzip2 -dc parallel-20170206.tar.bz2 | tar xvf - bzip2 -dc parallel-20170222.tar.bz2 | tar xvf -
cd parallel-20170206 cd parallel-20170222
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20170206. # Generated by GNU Autoconf 2.69 for parallel 20170222.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20170206' PACKAGE_VERSION='20170222'
PACKAGE_STRING='parallel 20170206' PACKAGE_STRING='parallel 20170222'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20170206 to adapt to many kinds of systems. \`configure' configures parallel 20170222 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20170206:";; short | recursive ) echo "Configuration of parallel 20170222:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20170206 parallel configure 20170222
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20170206, which was It was created by parallel $as_me 20170222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20170206' VERSION='20170222'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20170206, which was This file was extended by parallel $as_me 20170222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20170206 parallel config.status 20170222
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20170206], [bug-parallel@gnu.org]) AC_INIT([parallel], [20170222], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View file

@ -4,7 +4,7 @@
Check that documentation is updated (compare to web): Check that documentation is updated (compare to web):
Fixet for 20161223 Fixet for 20170222
git diff last-release-commit git diff last-release-commit
Unmodified beta since last version => production Unmodified beta since last version => production
Unmodified alpha since last version => beta Unmodified alpha since last version => beta
@ -16,7 +16,9 @@ configure.ac: AC_INIT([parallel], [20100422], [bug-parallel@gnu.org])
src/parallel: $Global::version = 20100422; src/parallel: $Global::version = 20100422;
README: parallel-20130222 README: parallel-20130222
YYYYMMDD=$(echo `yyyymmdd`+1 | bc)
YYYYMMDD=`yyyymmdd` YYYYMMDD=`yyyymmdd`
echo $YYYYMMDD
perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" configure.ac perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" configure.ac
perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/parallel perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/parallel
perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/sql perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/sql
@ -64,28 +66,11 @@ eval `gpg-agent --daemon`
make upload make upload
# Only needed for alpha: # Only needed for alpha:
YYYYMMDD=`yyyymmdd`
export YYYYMMDD
eval `gpg-agent --daemon` eval `gpg-agent --daemon`
cp doc/parallel.directive parallel-$YYYYMMDD.tar.bz2.directive # Takes up to 8 minutes
perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" parallel-*.tar.*directive make alphaupload
gpg --clearsign --yes parallel-$YYYYMMDD.tar.bz2.directive
(echo '#!/bin/bash';
echo;
echo "# To check the signature run:"
echo "# echo | gpg"
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$YYYYMMDD.tar.bz2.sig"
echo
echo "echo | gpg 2>/dev/null"
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0'
echo 'exit $?'
echo
gpg -ab -o - parallel-$YYYYMMDD.tar.bz2
) > parallel-$YYYYMMDD.tar.bz2.sig
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$YYYYMMDD.tar.bz2.sig
../ftpsync/src/ftpsync parallel-$YYYYMMDD.tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/alpha/
== Update OpenSUSE build system == == Update OpenSUSE build system ==
@ -216,20 +201,57 @@ GNU Parallel 20170222 ('13769') <<[stable]>> has been released. It is available
Haiku of the month: Haiku of the month:
<<>> Alias and vars
export them more easily
With env parallel
-- Ole Tange -- Ole Tange
New in this release: New in this release:
https://www.linux.org.ru/forum/development/13190247 * env_parallel now supports /bin/sh, ash, dash.
http://coreygoldberg.blogspot.dk/2017/02/batch-convert-images-from-png-to-jpeg.html
http://tomkimpson.com/howto/gnuparallel/ * --tee will pipe all data to all jobs. Used with --pipe/--pipepart and :::. Small example: seq 3333 | parallel --pipe --tee --tag 'grep {} | wc -l' ::: {0..9}
http://workshop2016.iwslt.org/downloads/IWSLT_2016_paper_27.pdf
http://aip.scitation.org/doi/full/10.1063/1.4974021
http://fowlerlab.org/2017/01/26/accelerating-oxford-nanopore-basecalling/
http://rockefeller.jobs/new-york-ny/devops-engineersenior-systems-administrator/2DB3408EAC9E4617AD238550F31C7641/job/
* If --results {replstr} ends in /: save in dir. Otherwise save as file. Example: parallel --results {} echo {} ::: a b c
* Vote for GNU Parallel's community ads on
http://meta.unix.stackexchange.com/a/4356/2972
http://meta.askubuntu.com/a/16750/22307
http://meta.serverfault.com/a/9040/45704
* GNU Parallel was cited in: Low-delay forwarding with multiple candidates for VANETs using multi-criteria decision making http://ieeexplore.ieee.org/document/7835961/
* GNU Parallel was cited in: An Integrated Simulator and Dataset that Combines Grasping and Vision for Deep Learning https://arxiv.org/pdf/1702.02103.pdf
* GNU Parallel was cited in: A Bayesian model selection approach for identifying differentially expressed transcripts from RNA sequencing data http://onlinelibrary.wiley.com/doi/10.1111/rssc.12213/full
* GNU Parallel was cited in: The impact of copy number variation on gout, and the apple genome https://ourarchive.otago.ac.nz/bitstream/handle/10523/7060/BoocockJames2016MSc.pdf?sequence=3
* GNU Parallel was cited in: Determination of crystal structures of proteins of unknown identity using a marathon molecular replacement procedure: structure of Stenotrophomonas maltophilia phosphate-binding protein https://www.researchgate.net/publication/308186413_Determination_of_crystal_structures_of_proteins_of_unknown_identity_using_a_marathon_molecular_replacement_procedure_Structure_of_Stenotrophomonas_maltophilia_phosphate-binding_protein
* GNU Parallel was cited in: Reaction rates for reaction-diffusion kinetics on unstructured meshes http://aip.scitation.org/doi/10.1063/1.4975167
* GNU Parallel was cited in: Modeling prediction error improves power of transcriptome-wide association studies http://biorxiv.org/content/biorxiv/early/2017/02/14/108316.full.pdf
* GNU Parallel was cited in: Proper experimental design requires randomization/balancing of molecular ecology experiments http://biorxiv.org/content/biorxiv/early/2017/02/17/109280.full.pdf
* GNU Parallel was cited in: Experiment-based thermal micromagnetic simulations of the magnetization reversal for ns-range clocked nanomagnetic logic http://aip.scitation.org/doi/full/10.1063/1.4974021
* GNU Parallel was cited in: The University of Edinburghs systems submission to the MT task at IWSLT http://workshop2016.iwslt.org/downloads/IWSLT_2016_paper_27.pdf
* Fast-GBS uses GNU Parallel: https://bitbucket.org/jerlar73/fast-gbs
* Job: DevOps Engineer/Senior Systems Administrator in New York, New York http://rockefeller.jobs/new-york-ny/devops-engineersenior-systems-administrator/2DB3408EAC9E4617AD238550F31C7641/job/
* Training in GNU Parallel: https://www.carc.unm.edu/education-outreach/workshops--training/
* Training in GNU Parallel: http://www.hpc.lsu.edu/training/registration.php?topic=Parallel%20Serial%20Jobs%20Using%20GNU%20Parallel&date=February%2022,%202017&time=9:00%20AM%20-%2011:00%20AM&place=307%20Frey&deadline=2017-02-21%2016:30:00
* Batch Convert Images from PNG to JPEG http://coreygoldberg.blogspot.dk/2017/02/batch-convert-images-from-png-to-jpeg.html
* Accelerating Oxford Nanopore Basecalling http://fowlerlab.org/2017/01/26/accelerating-oxford-nanopore-basecalling/
* parallel и imagemagick в loop на bash https://www.linux.org.ru/forum/development/13190247
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>> * <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>

View file

@ -1,8 +1,13 @@
<directory name="parallel" rev="198" srcmd5="9318690d85c9596edbdf7512e69cf3e6" vrev="1"> <directory name="parallel" rev="199" srcmd5="d215e332e8e0d5d9886c7045abed4819" vrev="1">
<entry md5="e6710d334a82f776e34c07bc276abdf0" mtime="1483271525" name="parallel-20161222.tar.bz2" size="1449836" /> <entry md5="e6710d334a82f776e34c07bc276abdf0" mtime="1483271525" name="parallel-20161222.tar.bz2" size="1449836" />
<entry md5="f1d1774a1904db762c292ffa4b542658" mtime="1485019214" name="parallel-20170122.tar.bz2" size="1459419" /> <entry md5="f1d1774a1904db762c292ffa4b542658" mtime="1485019214" name="parallel-20170122.tar.bz2" size="1459419" />
<entry md5="581a8aafd56bced7f48e6c8cd270e76e" mtime="1485019214" name="parallel.spec" size="4313" /> <entry md5="98cb0dfdc6fc764110a71ec591b24bb1" mtime="1487719474" name="parallel-20170222.tar.bz2" size="1479077" />
<entry md5="62b6c8aa976dfd7dcc275fb8ad3f44c4" mtime="1487719474" name="parallel.spec" size="4313" />
<entry md5="3ab86fea7800fb5f7cb87269a8df7aa8" mtime="1483271526" name="parallel_20161122.dsc" size="556" />
<entry md5="5cfd9e7aac93d0d254293b4e6c284873" mtime="1483271527" name="parallel_20161122.tar.gz" size="1576406" />
<entry md5="aca39e894b20e489d439ddaca9ad3281" mtime="1482416160" name="parallel_20161222.tar.gz" size="1603168" /> <entry md5="aca39e894b20e489d439ddaca9ad3281" mtime="1482416160" name="parallel_20161222.tar.gz" size="1603168" />
<entry md5="ec73cfb6f7e961f209e94a30e3e4a57e" mtime="1485019214" name="parallel_20170122.dsc" size="556" /> <entry md5="ec73cfb6f7e961f209e94a30e3e4a57e" mtime="1485019214" name="parallel_20170122.dsc" size="556" />
<entry md5="8790199a8f2e5d07e86ae9cf00c08a4c" mtime="1485019215" name="parallel_20170122.tar.gz" size="1635064" /> <entry md5="8790199a8f2e5d07e86ae9cf00c08a4c" mtime="1485019215" name="parallel_20170122.tar.gz" size="1635064" />
<entry md5="58be920398402a5503f92d56b0343662" mtime="1487719475" name="parallel_20170222.dsc" size="556" />
<entry md5="aaef171df3933dbeb3d15fd0dfb90b46" mtime="1487719475" name="parallel_20170222.tar.gz" size="1661902" />
</directory> </directory>

View file

@ -1,6 +1,6 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20170122 Version: 20170222
Release: 1.1 Release: 1.1
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -1,6 +1,6 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20170122 Version: 20170222
Release: 1.1 Release: 1.1
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -233,7 +233,7 @@ DISTCLEANFILES = parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 \
EXTRA_DIST = parallel sem sql niceload parcat env_parallel \ EXTRA_DIST = parallel sem sql niceload parcat env_parallel \
env_parallel.ash env_parallel.bash env_parallel.csh \ env_parallel.ash env_parallel.bash env_parallel.csh \
env_parallel.dash env_parallel.fish env_parallel.ksh \ env_parallel.dash env_parallel.fish env_parallel.ksh \
env_parallel.pdksh env_parallel.tcsh env_parallel.zsh \ env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
sem.pod parallel.pod env_parallel.pod niceload.pod \ env_parallel.zsh sem.pod parallel.pod env_parallel.pod \
parallel_tutorial.pod parallel_design.pod \ niceload.pod parallel_tutorial.pod parallel_design.pod \
parallel_alternatives.pod $(DISTCLEANFILES) parallel_alternatives.pod $(DISTCLEANFILES)

View file

@ -265,9 +265,9 @@ DISTCLEANFILES = parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 \
EXTRA_DIST = parallel sem sql niceload parcat env_parallel \ EXTRA_DIST = parallel sem sql niceload parcat env_parallel \
env_parallel.ash env_parallel.bash env_parallel.csh \ env_parallel.ash env_parallel.bash env_parallel.csh \
env_parallel.dash env_parallel.fish env_parallel.ksh \ env_parallel.dash env_parallel.fish env_parallel.ksh \
env_parallel.pdksh env_parallel.tcsh env_parallel.zsh \ env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
sem.pod parallel.pod env_parallel.pod niceload.pod \ env_parallel.zsh sem.pod parallel.pod env_parallel.pod \
parallel_tutorial.pod parallel_design.pod \ niceload.pod parallel_tutorial.pod parallel_design.pod \
parallel_alternatives.pod $(DISTCLEANFILES) parallel_alternatives.pod $(DISTCLEANFILES)
all: all-am all: all-am

0
src/env_parallel.ash Normal file → Executable file
View file

0
src/env_parallel.sh Normal file → Executable file
View file

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20170206; $Global::version = 20170222;
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

@ -1361,7 +1361,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20170208; $Global::version = 20170222;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;

View file

@ -3357,7 +3357,7 @@ If you have a lot of hosts use '-j0' to access more hosts in parallel.
If the workers are behind a NAT wall, you need some trickery to get to If the workers are behind a NAT wall, you need some trickery to get to
them. them.
If you can B<ssh> to a jump host, and reach the workers from there, If you can B<ssh> to a jumphost, and reach the workers from there,
then the obvious solution would be this, but it B<does not work>: then the obvious solution would be this, but it B<does not work>:
parallel --ssh 'ssh jumphost ssh' -S host1 echo ::: DOES NOT WORK parallel --ssh 'ssh jumphost ssh' -S host1 echo ::: DOES NOT WORK
@ -3547,7 +3547,7 @@ can read into R or LibreCalc, then you can use B<--results>:
=head1 EXAMPLE: Use XML as input =head1 EXAMPLE: Use XML as input
The show Aflyttet on Radio 24syv publishes a RSS feed with their audio The show Aflyttet on Radio 24syv publishes an RSS feed with their audio
podcasts on: http://arkiv.radio24syv.dk/audiopodcast/channel/4466232 podcasts on: http://arkiv.radio24syv.dk/audiopodcast/channel/4466232
Using B<xpath> you can extract the URLs for 2016 and download them Using B<xpath> you can extract the URLs for 2016 and download them
@ -3628,6 +3628,44 @@ the parts directly to the program:
parallel -Xj1 sort -m {} ';' rm {} >bigfile.sort parallel -Xj1 sort -m {} ';' rm {} >bigfile.sort
=head1 EXAMPLE: Grouping input lines
When processing with B<--pipe> you may have lines grouped by a
value. Here is I<my.csv>:
Transaction Customer Item
1 a 53
2 b 65
3 b 82
4 c 96
5 c 67
6 c 13
7 d 90
8 d 43
9 d 91
10 d 84
11 e 72
12 e 102
13 e 63
14 e 56
15 e 74
Let us assume you want GNU B<parallel> to process each customer. In
other words: You want all the transactions for a single customer to be
treated as a single record.
To do this we preprocess the data with a program that inserts a record
separator before each customer (column 2 = $F[1]). Here we first make
a 50 character random string, which we then use as the separator:
sep=`perl -e 'print map { ("a".."z","A".."Z")[rand(52)] } (1..50);'`
cat my.csv | perl -ape '$F[1] ne $last and print "'$sep'"; $last = $F[1]' |
parallel --recend $sep --rrs --pipe -N1 wc
If your program can process multiple customers replace B<-N1> with a
reasonable B<--blocksize>.
=head1 EXAMPLE: Running more than 250 jobs workaround =head1 EXAMPLE: Running more than 250 jobs workaround
If you need to run a massive amount of jobs in parallel, then you will If you need to run a massive amount of jobs in parallel, then you will

View file

@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20170206; $Global::version = 20170222;
$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

View file

@ -195,7 +195,7 @@ pod2pdf --output-file ./parallel_alternatives.pdf ./parallel_alternatives.pod --
Warning: pod2pdf not found. Using old parallel_alternatives.pdf Warning: pod2pdf not found. Using old parallel_alternatives.pdf
make[0]: Entering directory '/tmp/parallel-00000000/src' make[0]: Entering directory '/tmp/parallel-00000000/src'
/bin/mkdir -p '/usr/local/bin' /bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c parallel sql niceload parcat env_parallel env_parallel.bash env_parallel.zsh env_parallel.fish env_parallel.ksh env_parallel.pdksh env_parallel.csh env_parallel.tcsh '/usr/local/bin' /usr/bin/install -c parallel sql niceload parcat env_parallel env_parallel.ash env_parallel.bash env_parallel.csh env_parallel.dash env_parallel.fish env_parallel.ksh env_parallel.pdksh env_parallel.sh env_parallel.tcsh env_parallel.zsh '/usr/local/bin'
make install-exec-hook make install-exec-hook
make[0]: Entering directory '/tmp/parallel-00000000/src' make[0]: Entering directory '/tmp/parallel-00000000/src'
rm /usr/local/bin/sem || true rm /usr/local/bin/sem || true

View file

@ -61,21 +61,21 @@ par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore /bin/bash: line 57: not_copied_alias: command not found par_bash_underscore /bin/bash: line 55: not_copied_alias: command not found
par_bash_underscore /bin/bash: line 57: not_copied_func: command not found par_bash_underscore /bin/bash: line 55: not_copied_func: command not found
par_bash_underscore error=OK par_bash_underscore error=OK
par_bash_underscore error=OK par_bash_underscore error=OK
par_bash_underscore aliases in and arrays in functions work par_bash_underscore aliases in and arrays in functions work
par_bash_underscore aliases in and arrays in functions work par_bash_underscore aliases in and arrays in functions work
par_bash_underscore aliases in functions work par_bash_underscore aliases in functions work
par_bash_underscore aliases in functions work par_bash_underscore aliases in functions work
par_bash_underscore /bin/bash: line 52: myecho: command not found par_bash_underscore /bin/bash: line 49: myecho: command not found
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^ par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore /bin/bash: line 52: myecho: command not found par_bash_underscore /bin/bash: line 49: myecho: command not found
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^ par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore /bin/bash: line 50: myfunc: command not found par_bash_underscore /bin/bash: line 48: myfunc: command not found
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^ par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore /bin/bash: line 50: myfunc: command not found par_bash_underscore /bin/bash: line 48: myfunc: command not found
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^ par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_csh_funky 3 arg alias_works par_csh_funky 3 arg alias_works
par_csh_funky myvar works par_csh_funky myvar works
@ -315,21 +315,21 @@ par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore /usr/bin/ksh: line 8: not_copied_alias: not found par_ksh_underscore /usr/bin/ksh: line 5: not_copied_alias: not found
par_ksh_underscore /usr/bin/ksh: line 8: not_copied_func: not found par_ksh_underscore /usr/bin/ksh: line 5: not_copied_func: not found
par_ksh_underscore error=OK par_ksh_underscore error=OK
par_ksh_underscore error=OK par_ksh_underscore error=OK
par_ksh_underscore aliases in and arrays in functions work par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in and arrays in functions work par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in functions work par_ksh_underscore aliases in functions work
par_ksh_underscore aliases in functions work par_ksh_underscore aliases in functions work
par_ksh_underscore /usr/bin/ksh[4]: myecho: not found [No such file or directory] par_ksh_underscore /usr/bin/ksh: myecho: not found [No such file or directory]
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ksh_underscore /usr/bin/ksh[4]: myecho: not found [No such file or directory] par_ksh_underscore /usr/bin/ksh: myecho: not found [No such file or directory]
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ksh_underscore /usr/bin/ksh: line 4: myfunc: not found par_ksh_underscore /usr/bin/ksh: line 2: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_ksh_underscore /usr/bin/ksh: line 4: myfunc: not found par_ksh_underscore /usr/bin/ksh: line 2: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_tcsh_funky par_tcsh_funky
par_tcsh_funky par_tcsh_funky

View file

@ -785,6 +785,14 @@ pdksh: Put this in /mnt/4tb/home/tange/.profile: source /usr/local/bin/env_para
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> /mnt/4tb/home/tange/.profile E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> /mnt/4tb/home/tange/.profile
Supports: aliases, functions, variables, arrays Supports: aliases, functions, variables, arrays
ash: Put this in /mnt/4tb/home/tange/.profile: . /usr/local/bin/env_parallel.ash
E.g. by doing: echo '. /usr/local/bin/env_parallel.ash' >> /mnt/4tb/home/tange/.profile
Supports: aliases, variables
dash: Put this in /mnt/4tb/home/tange/.profile: . /usr/local/bin/env_parallel.dash
E.g. by doing: echo '. /usr/local/bin/env_parallel.dash' >> /mnt/4tb/home/tange/.profile
Supports: aliases, variables
csh: Put this in /mnt/4tb/home/tange/.cshrc: source /usr/local/bin/env_parallel.csh csh: Put this in /mnt/4tb/home/tange/.cshrc: source /usr/local/bin/env_parallel.csh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> /mnt/4tb/home/tange/.cshrc E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> /mnt/4tb/home/tange/.cshrc
Supports: aliases, variables, arrays with no special chars Supports: aliases, variables, arrays with no special chars