mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
Released as 20161122 ('Trump')
This commit is contained in:
parent
f905690898
commit
ca9b3ac100
13
NEWS
13
NEWS
|
@ -1,3 +1,16 @@
|
|||
20161122
|
||||
|
||||
* --record-env can now be used with env_parallel for bash, ksh, pdksh, and zsh.
|
||||
|
||||
* GNU Parallel was cited in: An improved implementation of Conditional Reciprocal Best Hits with LAST and Python https://pypi.python.org/pypi/shmlast/1.0.3
|
||||
|
||||
* GNU Parallel was cited in: miRPathDB: a new dictionary on microRNAs and target pathways http://nar.oxfordjournals.org/content/early/2016/10/13/nar.gkw926.full
|
||||
|
||||
* GNU/Parallel – Run multiple commands simultaneously https://vinusumi.wordpress.com/2016/11/08/gnuparallel-run-multiple-commands-simultaneously/
|
||||
|
||||
* Tutorial: Parallel web scraping with CasperJS and GNU Parallel http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
|
||||
|
||||
|
||||
20161022
|
||||
|
||||
* First command no longer gets stdin as it causes unpredictable issues.
|
||||
|
|
16
README
16
README
|
@ -26,6 +26,10 @@ possible to use output from GNU Parallel as input for other programs.
|
|||
|
||||
= 10 seconds installation =
|
||||
|
||||
For security reasons it is recommended you use your package manager to
|
||||
install. But if you cannot do that then you can use this 10 seconds
|
||||
installation.
|
||||
|
||||
The 10 seconds installation will try do to a full installation; if
|
||||
that fails, a personal installation; if that fails, a minimal
|
||||
installation.
|
||||
|
@ -40,9 +44,9 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20161022.tar.bz2
|
||||
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
|
||||
cd parallel-20161022
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
|
||||
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
|
||||
cd parallel-20161122
|
||||
./configure && make && sudo make install
|
||||
|
||||
|
||||
|
@ -51,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
|
||||
~/bin and ~/share:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20161022.tar.bz2
|
||||
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
|
||||
cd parallel-20161022
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
|
||||
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
|
||||
cd parallel-20161122
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
Or if your system lacks 'make' you can simply copy src/parallel
|
||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20161022.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20161122.
|
||||
#
|
||||
# Report bugs to <bug-parallel@gnu.org>.
|
||||
#
|
||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='parallel'
|
||||
PACKAGE_TARNAME='parallel'
|
||||
PACKAGE_VERSION='20161022'
|
||||
PACKAGE_STRING='parallel 20161022'
|
||||
PACKAGE_VERSION='20161122'
|
||||
PACKAGE_STRING='parallel 20161122'
|
||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||
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.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures parallel 20161022 to adapt to many kinds of systems.
|
||||
\`configure' configures parallel 20161122 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
@ -1281,7 +1281,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of parallel 20161022:";;
|
||||
short | recursive ) echo "Configuration of parallel 20161122:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
@ -1357,7 +1357,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
parallel configure 20161022
|
||||
parallel configure 20161122
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by parallel $as_me 20161022, which was
|
||||
It was created by parallel $as_me 20161122, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
@ -2237,7 +2237,7 @@ fi
|
|||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='parallel'
|
||||
VERSION='20161022'
|
||||
VERSION='20161122'
|
||||
|
||||
|
||||
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
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by parallel $as_me 20161022, which was
|
||||
This file was extended by parallel $as_me 20161122, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -2942,7 +2942,7 @@ _ACEOF
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
parallel config.status 20161022
|
||||
parallel config.status 20161122
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel], [20161022], [bug-parallel@gnu.org])
|
||||
AC_INIT([parallel], [20161122], [bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -219,22 +219,27 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
|
|||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||
Jesse Alama <jesse.alama@gmail.com>
|
||||
|
||||
Subject: GNU Parallel 20161122 ('Hillary') released <<[stable]>>
|
||||
Subject: GNU Parallel 20161122 ('Trump') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20161122 ('Hillary') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
GNU Parallel 20161122 ('Trump') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
|
||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||
|
||||
Haiku of the month:
|
||||
|
||||
Speed is good for you
|
||||
Multi speed is better still
|
||||
Use GNU Parallel
|
||||
-- Ole Tange
|
||||
|
||||
New in this release:
|
||||
|
||||
http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
|
||||
* --record-env can now be used with env_parallel for bash, ksh, pdksh, and zsh.
|
||||
|
||||
* GNU Parallel was cited in: An improved implementation of Conditional Reciprocal Best Hits with LAST and Python https://pypi.python.org/pypi/shmlast/1.0.3
|
||||
|
||||
* GNU Parallel was cited in: miRPathDB: a new dictionary on microRNAs and target pathways http://nar.oxfordjournals.org/content/early/2016/10/13/nar.gkw926.full
|
||||
|
||||
* GNU/Parallel – Run multiple commands simultaneously https://vinusumi.wordpress.com/2016/11/08/gnuparallel-run-multiple-commands-simultaneously/
|
||||
|
||||
* Tutorial: Parallel web scraping with CasperJS and GNU Parallel http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
|
||||
|
||||
|
||||
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20161022
|
||||
Version: 20161122
|
||||
Release: 1.1
|
||||
License: GPL
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -25,6 +25,33 @@ B<env_parallel> is beta quality and not production ready.
|
|||
B<env_parallel> is 0.1 sec slower at startup than pure GNU
|
||||
B<parallel>, and takes up to 15 ms to start a job.
|
||||
|
||||
Due to the problem with environment space (see below) the recommended
|
||||
usage is:
|
||||
|
||||
# Run once to record the "empty" environment
|
||||
env_parallel --record-env
|
||||
|
||||
# Define whatever you want to use
|
||||
alias myalias=echo
|
||||
myvar=it
|
||||
myfunc() { myalias $1 $myvar works.; }
|
||||
|
||||
# Use --env _ to only transfer the names not in the "empty" environment
|
||||
env_parallel --env _ -S localhost myfunc ::: Yay,
|
||||
|
||||
In B<csh>:
|
||||
|
||||
# Run once to record the "empty" environment
|
||||
env_parallel --record-env
|
||||
|
||||
# Define whatever you want to use
|
||||
alias myalias 'echo \!* $myvar works.'
|
||||
set myvar=it
|
||||
|
||||
# Use --env _ to only transfer the names not in the "empty" environment
|
||||
env_parallel --env _ -S localhost myalias ::: Yay,
|
||||
|
||||
|
||||
=head2 Environment space
|
||||
|
||||
By default B<env_parallel> will export all environment variables,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20161023;
|
||||
$Global::version = 20161122;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
21
src/parallel
21
src/parallel
|
@ -1216,7 +1216,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20161023;
|
||||
$Global::version = 20161122;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
@ -3751,7 +3751,7 @@ sub citation_notice {
|
|||
"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.",
|
||||
"",
|
||||
"To silence the citation notice: run 'parallel --citation'.",
|
||||
"To silence this citation notice: run 'parallel --citation'.",
|
||||
""
|
||||
);
|
||||
}
|
||||
|
@ -9910,12 +9910,27 @@ sub Q {
|
|||
return $a;
|
||||
}
|
||||
|
||||
sub pQ {
|
||||
# pQ alias for ::perl_quote_scalar
|
||||
*pQ = \&::perl_quote_scalar;
|
||||
return pQ(@_);
|
||||
}
|
||||
|
||||
sub total_jobs {
|
||||
return $Global::JobQueue->total_jobs()
|
||||
}
|
||||
|
||||
{
|
||||
my %perleval;
|
||||
my $job;
|
||||
sub skip {
|
||||
# shorthand for $job->skip();
|
||||
$job->skip();
|
||||
}
|
||||
sub slot {
|
||||
# shorthand for $job->slot();
|
||||
$job->slot();
|
||||
}
|
||||
|
||||
sub replace {
|
||||
# Calculates the corresponding value for a given perl expression
|
||||
|
@ -9926,7 +9941,7 @@ sub total_jobs {
|
|||
my $quote = (shift) ? 1 : 0; # should the string be quoted?
|
||||
# This is actually a CommandLine-object,
|
||||
# but it looks nice to be able to say {= $job->slot() =}
|
||||
my $job = shift;
|
||||
$job = shift;
|
||||
$perlexpr =~ s/^(-?\d+)? *//; # Positional replace treated as normal replace
|
||||
if(not $self->{'cache'}{$perlexpr}) {
|
||||
# Only compute the value once
|
||||
|
|
|
@ -260,6 +260,10 @@ made:
|
|||
|
||||
shell quote a string
|
||||
|
||||
=item Z<> B<pQ(>I<string>B<)>
|
||||
|
||||
perl quote a string
|
||||
|
||||
=item Z<> B<total_jobs()>
|
||||
|
||||
number of jobs in total
|
||||
|
|
|
@ -17,8 +17,8 @@ To run this tutorial you must have the following:
|
|||
|
||||
=item parallel >= version 20160822
|
||||
|
||||
Install the newest version using your package manager or with this
|
||||
command:
|
||||
Install the newest version using your package manager (recommended for
|
||||
security reasons) or with this command:
|
||||
|
||||
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
|
||||
|
||||
|
@ -531,9 +531,9 @@ Output:
|
|||
|
||||
*/!#$ shell quoted is \*/\!\#\$
|
||||
|
||||
B<$job->>B<skip()> skips the job:
|
||||
B<skip()> skips the job:
|
||||
|
||||
parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
|
||||
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
|
||||
|
||||
Output:
|
||||
|
||||
|
@ -544,7 +544,7 @@ Output:
|
|||
|
||||
B<@arg> contains the input source variables:
|
||||
|
||||
parallel echo {= 'if($arg[1]==$arg[2]) { $job->skip() }' =} ::: {1..3} ::: {1..3}
|
||||
parallel echo {= 'if($arg[1]==$arg[2]) { skip() }' =} ::: {1..3} ::: {1..3}
|
||||
|
||||
Output:
|
||||
|
||||
|
|
2
src/sql
2
src/sql
|
@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20161023;
|
||||
$Global::version = 20161122;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -10,7 +10,7 @@ please cite:
|
|||
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.
|
||||
|
||||
To silence the citation notice: run 'parallel --citation'.
|
||||
To silence this citation notice: run 'parallel --citation'.
|
||||
|
||||
echo a
|
||||
a
|
||||
|
@ -32,7 +32,7 @@ please cite:
|
|||
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.
|
||||
|
||||
To silence the citation notice: run 'parallel --citation'.
|
||||
To silence this citation notice: run 'parallel --citation'.
|
||||
|
||||
10 files to edit
|
||||
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m[37m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
||||
|
|
|
@ -218,12 +218,12 @@ Job 4 of 5
|
|||
Job 5 of 5
|
||||
parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
|
||||
*/!#$ shell quoted is \*/\!\#\$
|
||||
parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
|
||||
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel echo {= 'if($arg[1]==$arg[2]) { $job->skip() }' =} ::: {1..3} ::: {1..3}
|
||||
parallel echo {= 'if($arg[1]==$arg[2]) { skip() }' =} ::: {1..3} ::: {1..3}
|
||||
1 2
|
||||
1 3
|
||||
2 1
|
||||
|
|
Loading…
Reference in a new issue