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
|
20161022
|
||||||
|
|
||||||
* First command no longer gets stdin as it causes unpredictable issues.
|
* 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 =
|
= 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
|
The 10 seconds installation will try do to a full installation; if
|
||||||
that fails, a personal installation; if that fails, a minimal
|
that fails, a personal installation; if that fails, a minimal
|
||||||
installation.
|
installation.
|
||||||
|
@ -40,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-20161022.tar.bz2
|
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
|
||||||
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
|
||||||
cd parallel-20161022
|
cd parallel-20161122
|
||||||
./configure && make && sudo make install
|
./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
|
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-20161022.tar.bz2
|
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
|
||||||
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
|
||||||
cd parallel-20161022
|
cd parallel-20161122
|
||||||
./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
20
configure
vendored
|
@ -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 20161022.
|
# Generated by GNU Autoconf 2.69 for parallel 20161122.
|
||||||
#
|
#
|
||||||
# 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='20161022'
|
PACKAGE_VERSION='20161122'
|
||||||
PACKAGE_STRING='parallel 20161022'
|
PACKAGE_STRING='parallel 20161122'
|
||||||
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 20161022 to adapt to many kinds of systems.
|
\`configure' configures parallel 20161122 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 20161022:";;
|
short | recursive ) echo "Configuration of parallel 20161122:";;
|
||||||
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 20161022
|
parallel configure 20161122
|
||||||
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 20161022, which was
|
It was created by parallel $as_me 20161122, 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='20161022'
|
VERSION='20161122'
|
||||||
|
|
||||||
|
|
||||||
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 20161022, which was
|
This file was extended by parallel $as_me 20161122, 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 20161022
|
parallel config.status 20161122
|
||||||
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\\"
|
||||||
|
|
||||||
|
|
|
@ -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])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
@ -219,22 +219,27 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
|
||||||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||||
Jesse Alama <jesse.alama@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.>>
|
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||||
|
|
||||||
Haiku of the month:
|
Haiku of the month:
|
||||||
|
|
||||||
Speed is good for you
|
|
||||||
Multi speed is better still
|
|
||||||
Use GNU Parallel
|
|
||||||
-- Ole Tange
|
-- Ole Tange
|
||||||
|
|
||||||
New in this release:
|
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>>
|
* <<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
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20161022
|
Version: 20161122
|
||||||
Release: 1.1
|
Release: 1.1
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
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<env_parallel> is 0.1 sec slower at startup than pure GNU
|
||||||
B<parallel>, and takes up to 15 ms to start a job.
|
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
|
=head2 Environment space
|
||||||
|
|
||||||
By default B<env_parallel> will export all environment variables,
|
By default B<env_parallel> will export all environment variables,
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20161023;
|
$Global::version = 20161122;
|
||||||
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) {
|
||||||
|
|
23
src/parallel
23
src/parallel
|
@ -1216,7 +1216,7 @@ sub check_invalid_option_combinations {
|
||||||
|
|
||||||
sub init_globals {
|
sub init_globals {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20161023;
|
$Global::version = 20161122;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
@ -3751,7 +3751,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 the citation notice: run 'parallel --citation'.",
|
"To silence this citation notice: run 'parallel --citation'.",
|
||||||
""
|
""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -9910,13 +9910,28 @@ sub Q {
|
||||||
return $a;
|
return $a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub pQ {
|
||||||
|
# pQ alias for ::perl_quote_scalar
|
||||||
|
*pQ = \&::perl_quote_scalar;
|
||||||
|
return pQ(@_);
|
||||||
|
}
|
||||||
|
|
||||||
sub total_jobs {
|
sub total_jobs {
|
||||||
return $Global::JobQueue->total_jobs()
|
return $Global::JobQueue->total_jobs()
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
my %perleval;
|
my %perleval;
|
||||||
|
my $job;
|
||||||
|
sub skip {
|
||||||
|
# shorthand for $job->skip();
|
||||||
|
$job->skip();
|
||||||
|
}
|
||||||
|
sub slot {
|
||||||
|
# shorthand for $job->slot();
|
||||||
|
$job->slot();
|
||||||
|
}
|
||||||
|
|
||||||
sub replace {
|
sub replace {
|
||||||
# Calculates the corresponding value for a given perl expression
|
# Calculates the corresponding value for a given perl expression
|
||||||
# Returns:
|
# Returns:
|
||||||
|
@ -9926,7 +9941,7 @@ sub total_jobs {
|
||||||
my $quote = (shift) ? 1 : 0; # should the string be quoted?
|
my $quote = (shift) ? 1 : 0; # should the string be quoted?
|
||||||
# This is actually a CommandLine-object,
|
# This is actually a CommandLine-object,
|
||||||
# but it looks nice to be able to say {= $job->slot() =}
|
# 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
|
$perlexpr =~ s/^(-?\d+)? *//; # Positional replace treated as normal replace
|
||||||
if(not $self->{'cache'}{$perlexpr}) {
|
if(not $self->{'cache'}{$perlexpr}) {
|
||||||
# Only compute the value once
|
# Only compute the value once
|
||||||
|
|
|
@ -260,6 +260,10 @@ made:
|
||||||
|
|
||||||
shell quote a string
|
shell quote a string
|
||||||
|
|
||||||
|
=item Z<> B<pQ(>I<string>B<)>
|
||||||
|
|
||||||
|
perl quote a string
|
||||||
|
|
||||||
=item Z<> B<total_jobs()>
|
=item Z<> B<total_jobs()>
|
||||||
|
|
||||||
number of jobs in total
|
number of jobs in total
|
||||||
|
|
|
@ -17,8 +17,8 @@ To run this tutorial you must have the following:
|
||||||
|
|
||||||
=item parallel >= version 20160822
|
=item parallel >= version 20160822
|
||||||
|
|
||||||
Install the newest version using your package manager or with this
|
Install the newest version using your package manager (recommended for
|
||||||
command:
|
security reasons) or with this command:
|
||||||
|
|
||||||
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
|
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
|
||||||
|
|
||||||
|
@ -531,9 +531,9 @@ Output:
|
||||||
|
|
||||||
*/!#$ shell quoted is \*/\!\#\$
|
*/!#$ 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:
|
Output:
|
||||||
|
|
||||||
|
@ -544,7 +544,7 @@ Output:
|
||||||
|
|
||||||
B<@arg> contains the input source variables:
|
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:
|
Output:
|
||||||
|
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20161023;
|
$Global::version = 20161122;
|
||||||
$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
|
||||||
|
|
|
@ -10,7 +10,7 @@ please cite:
|
||||||
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 the citation notice: run 'parallel --citation'.
|
To silence this citation notice: run 'parallel --citation'.
|
||||||
|
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
|
@ -32,7 +32,7 @@ please cite:
|
||||||
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 the citation notice: run 'parallel --citation'.
|
To silence this citation notice: run 'parallel --citation'.
|
||||||
|
|
||||||
10 files to edit
|
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.
|
[?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
|
Job 5 of 5
|
||||||
parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
|
parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
|
||||||
*/!#$ shell quoted is \*/\!\#\$
|
*/!#$ shell quoted is \*/\!\#\$
|
||||||
parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
|
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
|
||||||
9
|
9
|
||||||
9
|
9
|
||||||
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 2
|
||||||
1 3
|
1 3
|
||||||
2 1
|
2 1
|
||||||
|
|
Loading…
Reference in a new issue