mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-25 15:37:56 +00:00
Released as 20190222 ('Baghuz')
This commit is contained in:
parent
321419c73a
commit
fd4694c66b
32
NEWS
32
NEWS
|
@ -1,5 +1,37 @@
|
||||||
20190222
|
20190222
|
||||||
|
|
||||||
|
* --shard makes it possible to send input to a the same jobslot based
|
||||||
|
on the value in one column of the input. It is similar to sharding
|
||||||
|
in databases.
|
||||||
|
|
||||||
|
* --shellquote --shellquote will shell quote the input twice.
|
||||||
|
|
||||||
|
* GNU Parallel is available in Termux
|
||||||
|
https://github.com/termux/termux-packages/tree/master/packages/parallel
|
||||||
|
|
||||||
|
* Linux, command line & MetaCentrum
|
||||||
|
https://trapa.cz/sites/default/files/linux_bash_metacentrum_course_4.pdf
|
||||||
|
|
||||||
|
* How to supercharge your bash workflows with GNU parallel
|
||||||
|
https://medium.freecodecamp.org/how-to-supercharge-your-bash-workflows-with-gnu-parallel-53aab0aea141
|
||||||
|
|
||||||
|
* GNU Parallel Spring 2017 https://www.youtube.com/watch?v=LHb29uW_KyI
|
||||||
|
|
||||||
|
* Parallelizing Freesurfer blog.cogneurostats.com/?p=148
|
||||||
|
|
||||||
|
* FreeSurfer #4: Running recon-all in Parallel https://www.youtube.com/watch?v=XHN2tm3tNaw
|
||||||
|
|
||||||
|
* FreeSurfer: recon-all https://www.neurotrivial.com/2019/01/24/freesurfer-recon-all/
|
||||||
|
|
||||||
|
* Come ridimensionare 10k foto con la riga di comando
|
||||||
|
https://pigrecoinfinito.wordpress.com/2018/12/22/come-ridimensionare-10k-foto-con-la-riga-di-comando/
|
||||||
|
|
||||||
|
* 并行处理 – Gnu Parallel:嵌套并行
|
||||||
|
https://codeday.me/bug/20190122/552902.html
|
||||||
|
|
||||||
|
* シェルスクリプトでコマンドを並列実行する方法
|
||||||
|
https://www.kwbtblog.com/entry/2019/01/12/020423
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
|
|
12
README
12
README
|
@ -44,9 +44,9 @@ document.
|
||||||
|
|
||||||
Full installation of GNU Parallel is as simple as:
|
Full installation of GNU Parallel is as simple as:
|
||||||
|
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20190122.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190222.tar.bz2
|
||||||
bzip2 -dc parallel-20190122.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190222.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190122
|
cd parallel-20190222
|
||||||
./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 https://ftpmirror.gnu.org/parallel/parallel-20190122.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190222.tar.bz2
|
||||||
bzip2 -dc parallel-20190122.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190222.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190122
|
cd parallel-20190222
|
||||||
./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 20190122.
|
# Generated by GNU Autoconf 2.69 for parallel 20190222.
|
||||||
#
|
#
|
||||||
# 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='20190122'
|
PACKAGE_VERSION='20190222'
|
||||||
PACKAGE_STRING='parallel 20190122'
|
PACKAGE_STRING='parallel 20190222'
|
||||||
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 20190122 to adapt to many kinds of systems.
|
\`configure' configures parallel 20190222 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 20190122:";;
|
short | recursive ) echo "Configuration of parallel 20190222:";;
|
||||||
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 20190122
|
parallel configure 20190222
|
||||||
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 20190122, which was
|
It was created by parallel $as_me 20190222, 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='20190122'
|
VERSION='20190222'
|
||||||
|
|
||||||
|
|
||||||
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 20190122, which was
|
This file was extended by parallel $as_me 20190222, 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 20190122
|
parallel config.status 20190222
|
||||||
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], [20190122], [bug-parallel@gnu.org])
|
AC_INIT([parallel], [20190222], [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([
|
||||||
|
|
|
@ -220,22 +220,29 @@ Quote of the month:
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
https://trapa.cz/sites/default/files/linux_bash_metacentrum_course_4.pdf
|
* --shard makes it possible to send input to a the same jobslot based on the value in one column of the input. It is similar to sharding in databases.
|
||||||
|
|
||||||
https://medium.freecodecamp.org/how-to-supercharge-your-bash-workflows-with-gnu-parallel-53aab0aea141
|
* --shellquote --shellquote will shell quote the input twice.
|
||||||
|
|
||||||
* GNU Parallel is available in Termux https://github.com/termux/termux-packages/tree/master/packages/parallel
|
* GNU Parallel is available in Termux https://github.com/termux/termux-packages/tree/master/packages/parallel
|
||||||
|
|
||||||
https://www.youtube.com/watch?v=LHb29uW_KyI
|
* Linux, command line & MetaCentrum https://trapa.cz/sites/default/files/linux_bash_metacentrum_course_4.pdf
|
||||||
|
|
||||||
* blog.cogneurostats.com/?p=148
|
* How to supercharge your bash workflows with GNU parallel https://medium.freecodecamp.org/how-to-supercharge-your-bash-workflows-with-gnu-parallel-53aab0aea141
|
||||||
|
|
||||||
https://www.neurotrivial.com/2019/01/24/freesurfer-recon-all/
|
* GNU Parallel Spring 2017 https://www.youtube.com/watch?v=LHb29uW_KyI
|
||||||
https://pigrecoinfinito.wordpress.com/2018/12/22/come-ridimensionare-10k-foto-con-la-riga-di-comando/
|
|
||||||
https://codeday.me/bug/20190122/552902.html
|
|
||||||
https://www.kwbtblog.com/entry/2019/01/12/020423
|
|
||||||
|
|
||||||
* https://www.youtube.com/watch?v=XHN2tm3tNaw
|
* Parallelizing Freesurfer blog.cogneurostats.com/?p=148
|
||||||
|
|
||||||
|
* FreeSurfer #4: Running recon-all in Parallel https://www.youtube.com/watch?v=XHN2tm3tNaw
|
||||||
|
|
||||||
|
* FreeSurfer: recon-all https://www.neurotrivial.com/2019/01/24/freesurfer-recon-all/
|
||||||
|
|
||||||
|
* Come ridimensionare 10k foto con la riga di comando https://pigrecoinfinito.wordpress.com/2018/12/22/come-ridimensionare-10k-foto-con-la-riga-di-comando/
|
||||||
|
|
||||||
|
* 并行处理 – Gnu Parallel:嵌套并行 https://codeday.me/bug/20190122/552902.html
|
||||||
|
|
||||||
|
* シェルスクリプトでコマンドを並列実行する方法https://www.kwbtblog.com/entry/2019/01/12/020423
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<directory name="parallel" rev="230" srcmd5="dae05e9a043866038c83e6f5a5e56c3e" vrev="2">
|
<directory name="parallel" rev="232" srcmd5="45591c7f6bfc52dfd9aa690a14a31a4c" vrev="2">
|
||||||
<entry md5="01a210240252d9618a5c17b12c585d54" mtime="1548036048" name="parallel-20190122.tar.bz2" size="1793620" />
|
<entry md5="58a492714cee48a39d785e4efb597a83" mtime="1550870169" name="parallel-20190222.tar.bz2" size="1836447" />
|
||||||
<entry md5="13c250f5c33508b6d2f44544c38215ab" mtime="1548035924" name="parallel.spec" size="4667" />
|
<entry md5="dc24d3784e8be2bcd01dafbd7ee3b918" mtime="1550870135" name="parallel.spec" size="4667" />
|
||||||
<entry md5="ec9efb3ebd9f192e9104ebd37269f579" mtime="1548035925" name="parallel_20190122.dsc" size="556" />
|
<entry md5="9090ce7615a2d675f6b5d238ba5ffe41" mtime="1550870135" name="parallel_20190222.dsc" size="556" />
|
||||||
<entry md5="f74e15e4b9c93b4fc0793b979faf3200" mtime="1548035961" name="parallel_20190122.tar.gz" size="1997144" />
|
<entry md5="847f864bd968638882ddfc0d43bd2115" mtime="1550870136" name="parallel_20190222.tar.gz" size="2032210" />
|
||||||
</directory>
|
</directory>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Summary: Shell tool for executing jobs in parallel
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20190122
|
Version: 20190222
|
||||||
Release: 1.2
|
Release: 1.2
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Summary: Shell tool for executing jobs in parallel
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20190122
|
Version: 20190222
|
||||||
Release: 1.2
|
Release: 1.2
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20190123;
|
$Global::version = 20190222;
|
||||||
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) {
|
||||||
|
|
|
@ -1698,7 +1698,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20190123;
|
$Global::version = 20190222;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
|
|
@ -3311,7 +3311,7 @@ repeat the list and use replacement string B<{choose_k}>:
|
||||||
|
|
||||||
parallel --plus echo arg2 {2choose_k} arg1 {1choose_k} ::: A B C D ::: A B C D
|
parallel --plus echo arg2 {2choose_k} arg1 {1choose_k} ::: A B C D ::: A B C D
|
||||||
|
|
||||||
B<choose_k> works for any number of input sources:
|
B<{choose_k}> works for any number of input sources:
|
||||||
|
|
||||||
parallel --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
|
parallel --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
|
||||||
|
|
||||||
|
|
|
@ -1879,10 +1879,10 @@ https://github.com/fd0/machma (Last checked: 2019-01)
|
||||||
|
|
||||||
B<interlace> is built for network analysis to run network tools in parallel.
|
B<interlace> is built for network analysis to run network tools in parallel.
|
||||||
|
|
||||||
B<interface> does not buffer output, so output mixes.
|
B<interface> does not buffer output, so output from different jobs mixes.
|
||||||
|
|
||||||
Using B<prips> the examples from https://github.com/codingo/Interlace
|
Using B<prips> most of the examples from
|
||||||
can be run with GNU B<parallel>:
|
https://github.com/codingo/Interlace can be run with GNU B<parallel>:
|
||||||
|
|
||||||
interlace -tL ./targets.txt -threads 5 \
|
interlace -tL ./targets.txt -threads 5 \
|
||||||
-c "nikto --host _target_ > ./_target_-nikto.txt" -v
|
-c "nikto --host _target_ > ./_target_-nikto.txt" -v
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -574,7 +574,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20190123;
|
$Global::version = 20190222;
|
||||||
$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
|
||||||
|
|
|
@ -867,7 +867,6 @@ MFLAGS
|
||||||
OLDPWD
|
OLDPWD
|
||||||
ORACLE_HOME
|
ORACLE_HOME
|
||||||
ORACLE_SID
|
ORACLE_SID
|
||||||
|
|
||||||
PARALLEL
|
PARALLEL
|
||||||
PARALLEL_HOME
|
PARALLEL_HOME
|
||||||
PARALLEL_PID
|
PARALLEL_PID
|
||||||
|
@ -1419,7 +1418,6 @@ The second finished running in the foreground
|
||||||
First started
|
First started
|
||||||
First done
|
First done
|
||||||
sem --id my_id -u 'echo Second started; sleep 10; echo Second done'
|
sem --id my_id -u 'echo Second started; sleep 10; echo Second done'
|
||||||
Second done
|
|
||||||
sem --jobs 3 --id my_id -u 'echo Start 1; sleep 5; echo 1 done' &&
|
sem --jobs 3 --id my_id -u 'echo Start 1; sleep 5; echo 1 done' &&
|
||||||
sem --jobs 3 --id my_id -u 'echo Start 2; sleep 6; echo 2 done' &&
|
sem --jobs 3 --id my_id -u 'echo Start 2; sleep 6; echo 2 done' &&
|
||||||
sem --jobs 3 --id my_id -u 'echo Start 3; sleep 7; echo 3 done' &&
|
sem --jobs 3 --id my_id -u 'echo Start 3; sleep 7; echo 3 done' &&
|
||||||
|
@ -1440,8 +1438,8 @@ Start 4
|
||||||
Slow started
|
Slow started
|
||||||
Forced running after 1 sec
|
Forced running after 1 sec
|
||||||
Slow ended
|
Slow ended
|
||||||
|
Give up after 2 secs
|
||||||
parallel: Warning: Semaphore timed out. Stealing the semaphore.
|
parallel: Warning: Semaphore timed out. Stealing the semaphore.
|
||||||
parallel: Warning: Semaphore timed out. Exiting.
|
|
||||||
parallel --help
|
parallel --help
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue