mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-23 14:38:05 +00:00
Released as 20241122 ('Ahoo Daryaei')
This commit is contained in:
parent
044e46fa74
commit
14089a1ff0
19
NEWS
19
NEWS
|
@ -2,13 +2,28 @@
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* <<No new features. This is a candidate for a stable release.>>
|
* --pipe --block works similar to --pipepart --block if --block size is negative.
|
||||||
|
|
||||||
|
* DBURLs can be written with / instead of %2F for sqlite and CSV.
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
News about GNU Parallel:
|
News about GNU Parallel:
|
||||||
|
|
||||||
<<>>
|
* Embarrassingly GNU parallel
|
||||||
|
https://dengin.xyz/blog/2024/10/24/embarrassingly-gnu-parallel/
|
||||||
|
|
||||||
|
* GNU Parallel for Your Terminal Tasks
|
||||||
|
https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/
|
||||||
|
|
||||||
|
* How to leverage GNU parallel to utilize multiple cores while running AUGUSTUS
|
||||||
|
https://lifescienceshub.wixsite.com/lifesciencehub/post/how-to-leverage-gnu-parallel-to-utilize-multiple-cores-while-running-augustus
|
||||||
|
|
||||||
|
* GNU Parallel: The Good Parts
|
||||||
|
https://diekmeier.de/posts/2024-11-17-gnu-parallel/
|
||||||
|
|
||||||
|
* Put your CPU to work with GNU Parallel
|
||||||
|
https://www.redhat.com/en/blog/gnu-parallel
|
||||||
|
|
||||||
|
|
||||||
20241022
|
20241022
|
||||||
|
|
24
README
24
README
|
@ -57,11 +57,11 @@ 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-20241022.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20241122.tar.bz2
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20241022.tar.bz2.sig
|
wget https://ftpmirror.gnu.org/parallel/parallel-20241122.tar.bz2.sig
|
||||||
gpg parallel-20241022.tar.bz2.sig
|
gpg parallel-20241122.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20241022.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20241122.tar.bz2 | tar xvf -
|
||||||
cd parallel-20241022
|
cd parallel-20241122
|
||||||
./configure && make && sudo make install
|
./configure && make && sudo make install
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,11 +70,11 @@ 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-20241022.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20241122.tar.bz2
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20241022.tar.bz2.sig
|
wget https://ftpmirror.gnu.org/parallel/parallel-20241122.tar.bz2.sig
|
||||||
gpg parallel-20241022.tar.bz2.sig
|
gpg parallel-20241122.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20241022.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20241122.tar.bz2 | tar xvf -
|
||||||
cd parallel-20241022
|
cd parallel-20241122
|
||||||
./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
|
||||||
|
@ -122,8 +122,8 @@ will love you for it.
|
||||||
When using programs that use GNU Parallel to process data for
|
When using programs that use GNU Parallel to process data for
|
||||||
publication please cite:
|
publication please cite:
|
||||||
|
|
||||||
Tange, O. (2024, October 22). GNU Parallel 20241022 ('Sinwar Nasrallah').
|
Tange, O. (2024, November 22). GNU Parallel 20241122 ('Ahoo Daryaei').
|
||||||
Zenodo. https://doi.org/10.5281/zenodo.13957646
|
Zenodo. https://doi.org/10.5281/zenodo.14207479
|
||||||
|
|
||||||
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
||||||
Software Foundation, Inc.
|
Software Foundation, Inc.
|
||||||
|
|
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.71 for parallel 20241022.
|
# Generated by GNU Autoconf 2.71 for parallel 20241122.
|
||||||
#
|
#
|
||||||
# Report bugs to <bug-parallel@gnu.org>.
|
# Report bugs to <bug-parallel@gnu.org>.
|
||||||
#
|
#
|
||||||
|
@ -610,8 +610,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='parallel'
|
PACKAGE_NAME='parallel'
|
||||||
PACKAGE_TARNAME='parallel'
|
PACKAGE_TARNAME='parallel'
|
||||||
PACKAGE_VERSION='20241022'
|
PACKAGE_VERSION='20241122'
|
||||||
PACKAGE_STRING='parallel 20241022'
|
PACKAGE_STRING='parallel 20241122'
|
||||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
@ -1246,7 +1246,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 20241022 to adapt to many kinds of systems.
|
\`configure' configures parallel 20241122 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1313,7 +1313,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 20241022:";;
|
short | recursive ) echo "Configuration of parallel 20241122:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1390,7 +1390,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 20241022
|
parallel configure 20241122
|
||||||
generated by GNU Autoconf 2.71
|
generated by GNU Autoconf 2.71
|
||||||
|
|
||||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
@ -1427,7 +1427,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 20241022, which was
|
It was created by parallel $as_me 20241122, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
$ $0$ac_configure_args_raw
|
$ $0$ac_configure_args_raw
|
||||||
|
@ -2379,7 +2379,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='parallel'
|
PACKAGE='parallel'
|
||||||
VERSION='20241022'
|
VERSION='20241122'
|
||||||
|
|
||||||
|
|
||||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||||
|
@ -3026,7 +3026,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 20241022, which was
|
This file was extended by parallel $as_me 20241122, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -3090,7 +3090,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config='$ac_cs_config_escaped'
|
ac_cs_config='$ac_cs_config_escaped'
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
parallel config.status 20241022
|
parallel config.status 20241122
|
||||||
configured by $0, generated by GNU Autoconf 2.71,
|
configured by $0, generated by GNU Autoconf 2.71,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel],[20241022],[bug-parallel@gnu.org])
|
AC_INIT([parallel],[20241122],[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([
|
||||||
|
|
11
doc/haikus
11
doc/haikus
|
@ -4,6 +4,11 @@
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
|
GNU parallel is awesome. Use it more often in your scripts!
|
||||||
|
-- Wade @WadeGrimshire@twitter
|
||||||
|
|
||||||
|
i rly love gnu parallel over xargs, it's basically the same but has lots of useful and well documented options. sry if u know already
|
||||||
|
-- d@nny "disc@" mc² @hipsterelectron@circumstances.run
|
||||||
|
|
||||||
ainda não inventaram palavras capazes de expressar minha gratidão aos desenvolvedores do GNU Parallel
|
ainda não inventaram palavras capazes de expressar minha gratidão aos desenvolvedores do GNU Parallel
|
||||||
-- nueidris @nueidris.kawaii.social
|
-- nueidris @nueidris.kawaii.social
|
||||||
|
@ -11,9 +16,6 @@ Quote of the month:
|
||||||
Und die Tage jetzt hab ich GNU parallel für mich entdeckt, auch ne nette Geschichte, gerade wenn's irgendwelche remote APIs sind.
|
Und die Tage jetzt hab ich GNU parallel für mich entdeckt, auch ne nette Geschichte, gerade wenn's irgendwelche remote APIs sind.
|
||||||
-- Vince @dd1des.bsky.social
|
-- Vince @dd1des.bsky.social
|
||||||
|
|
||||||
GNU parallel is so satisfying
|
|
||||||
-- James Coman @jcoman.bsky.social
|
|
||||||
|
|
||||||
gnu parallelすごい!!!
|
gnu parallelすごい!!!
|
||||||
-- たらたら@nosennyuu@twitter
|
-- たらたら@nosennyuu@twitter
|
||||||
|
|
||||||
|
@ -237,6 +239,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
|
||||||
|
|
||||||
=== Used ===
|
=== Used ===
|
||||||
|
|
||||||
|
GNU parallel is so satisfying
|
||||||
|
-- James Coman @jcoman.bsky.social
|
||||||
|
|
||||||
GNU Parallel is one of the most helpful tools I've been using recently, and it's just something like: parallel -j4 'gzip {}' ::: folder/*.csv
|
GNU Parallel is one of the most helpful tools I've been using recently, and it's just something like: parallel -j4 'gzip {}' ::: folder/*.csv
|
||||||
-- Milton Pividori @miltondp@twitter
|
-- Milton Pividori @miltondp@twitter
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,12 @@ make short
|
||||||
|
|
||||||
== Update version ==
|
== Update version ==
|
||||||
|
|
||||||
|
https://savannah.gnu.org/news/submit.php?group=parallel
|
||||||
|
|
||||||
|
Draft:
|
||||||
|
perl -ne '/It\sis\savailable/..0 and print' doc/release_new_version | clipboard
|
||||||
|
|
||||||
|
|
||||||
https://zenodo.org/deposit/new
|
https://zenodo.org/deposit/new
|
||||||
|
|
||||||
Do you already have a DOI for this upload? No
|
Do you already have a DOI for this upload? No
|
||||||
|
@ -266,24 +272,39 @@ from:tange@gnu.org
|
||||||
to:parallel@gnu.org, bug-parallel@gnu.org
|
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||||
|
|
||||||
Subject: GNU Parallel 20241122 ('#AhooDaryaei /Regn i valencia/us pres/Unite the kingdom/Tommy Robinson/Alex/Southport2/Georgien') released
|
Subject: GNU Parallel 20241122 ('Ahoo Daryaei') released
|
||||||
|
|
||||||
GNU Parallel 20241122 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
|
GNU Parallel 20241122 ('Ahoo Daryaei') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
<<>>
|
GNU parallel is so satisfying
|
||||||
|
-- James Coman @jcoman.bsky.social
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* No new features. This is a candidate for a stable release.
|
* --pipe --block works similar to --pipepart --block if --block size is negative.
|
||||||
|
|
||||||
|
* DBURLs can be written with / instead of %2F for sqlite and CSV.
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
News about GNU Parallel:
|
News about GNU Parallel:
|
||||||
|
|
||||||
https://www.redhat.com/en/blog/gnu-parallel
|
* Embarrassingly GNU parallel
|
||||||
https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/
|
https://dengin.xyz/blog/2024/10/24/embarrassingly-gnu-parallel/
|
||||||
|
|
||||||
|
* GNU Parallel for Your Terminal Tasks
|
||||||
|
https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/
|
||||||
|
|
||||||
|
* How to leverage GNU parallel to utilize multiple cores while running AUGUSTUS
|
||||||
|
https://lifescienceshub.wixsite.com/lifesciencehub/post/how-to-leverage-gnu-parallel-to-utilize-multiple-cores-while-running-augustus
|
||||||
|
|
||||||
|
* GNU Parallel: The Good Parts
|
||||||
|
https://diekmeier.de/posts/2024-11-17-gnu-parallel/
|
||||||
|
|
||||||
|
* Put your CPU to work with GNU Parallel
|
||||||
|
https://www.redhat.com/en/blog/gnu-parallel
|
||||||
|
|
||||||
|
|
||||||
GNU Parallel - For people who live life in the parallel lane.
|
GNU Parallel - For people who live life in the parallel lane.
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
<directory name="parallel" rev="402" vrev="3" srcmd5="eabde6986e84a2ee89d3573226212c2b">
|
<directory name="parallel" rev="403" vrev="2" srcmd5="5859fde67057353653a861981a199093">
|
||||||
<entry name="Makefile" md5="d62bf3bdf277f9787ce915e6d1309317" size="1254" mtime="1727031498" />
|
<entry name="Makefile" md5="d62bf3bdf277f9787ce915e6d1309317" size="1254" mtime="1727031498" />
|
||||||
<entry name="PKGBUILD" md5="d0637068b5eb4d647b3e281a32c4a383" size="795" mtime="1729438421" />
|
<entry name="PKGBUILD" md5="2147d5d0557cb1d87e905ec16b855cfb" size="795" mtime="1732313409" />
|
||||||
<entry name="parallel-20241022.tar.bz2" md5="d6b236cd452959c5f8e1740f9d6bd52f" size="2677432" mtime="1729438421" />
|
<entry name="parallel-20241122.tar.bz2" md5="37e808b62e43c87c49bb4b876cec0a8d" size="2677531" mtime="1732313409" />
|
||||||
<entry name="parallel-20241022.tar.bz2.sig" md5="310b1d88f6413d6f3126be2eb55514ba" size="2080" mtime="1729438421" />
|
<entry name="parallel-20241122.tar.bz2.sig" md5="b2b7cd40233f2da68986ef54d02128ce" size="2080" mtime="1732313410" />
|
||||||
<entry name="parallel.spec" md5="f723f1c49a4f85e96ee2cd0bbf668e77" size="6224" mtime="1729437802" />
|
<entry name="parallel.spec" md5="47eaf53b1ed3821dedd238cabccf1149" size="6224" mtime="1732313410" />
|
||||||
<entry name="parallel_20240922.tar.gz" md5="e0845f75badfde97790129aa5b793563" size="2917995" mtime="1729437803" />
|
<entry name="parallel_20241122.dsc" md5="d35026e2ea3527f8d24fd1048923812a" size="557" mtime="1732313410" />
|
||||||
<entry name="parallel_20241022.dsc" md5="3f822685e8ab5c249191f2afad054250" size="557" mtime="1729438422" />
|
<entry name="parallel_20241122.tar.gz" md5="cf60d96051e42ec28f8acb9080620223" size="2922864" mtime="1732313410" />
|
||||||
<entry name="parallel_20241022.tar.gz" md5="c4c614919c48a7f9718c6de7e00ae681" size="2918710" mtime="1729438422" />
|
|
||||||
</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: 20241022
|
Version: 20241122
|
||||||
Release: 2.1
|
Release: 2.1
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -605,7 +605,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -570,7 +570,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -275,7 +275,7 @@ Due to a bug in Bash, aliases containing newlines must be followed by
|
||||||
a newline in the command. Some systems are not affected by this bug,
|
a newline in the command. Some systems are not affected by this bug,
|
||||||
but will print a warning anyway.
|
but will print a warning anyway.
|
||||||
|
|
||||||
=head2 csh (beta testing)
|
=head2 csh
|
||||||
|
|
||||||
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>.
|
||||||
|
@ -679,7 +679,7 @@ B<--session> is supported.
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
||||||
=head2 tcsh (beta testing)
|
=head2 tcsh
|
||||||
|
|
||||||
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>.
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20241022 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20241122 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
||||||
echo "Foundation, Inc."
|
echo "Foundation, Inc."
|
||||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20241022;
|
$Global::version = 20241122;
|
||||||
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) {
|
||||||
|
|
22
src/parallel
22
src/parallel
|
@ -2945,7 +2945,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20241120;
|
$Global::version = 20241122;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$::name = "GNU Parallel";
|
$::name = "GNU Parallel";
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
|
@ -6003,8 +6003,8 @@ sub usage() {
|
||||||
"If you use programs that use GNU Parallel to process data for an article in a",
|
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||||
"scientific publication, please cite:",
|
"scientific publication, please cite:",
|
||||||
"",
|
"",
|
||||||
" Tange, O. (2024, October 22). GNU Parallel 20241022 ('Sinwar Nasrallah').",
|
" Tange, O. (2024, November 22). GNU Parallel 20241122 ('Ahoo Daryaei').",
|
||||||
" Zenodo. https://doi.org/10.5281/zenodo.13957646",
|
" Zenodo. https://doi.org/10.5281/zenodo.14207479",
|
||||||
"",
|
"",
|
||||||
# Before changing these lines, please read
|
# Before changing these lines, please read
|
||||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
|
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
|
||||||
|
@ -6036,8 +6036,8 @@ sub citation_notice() {
|
||||||
"If you use programs that use GNU Parallel to process data for an article in a",
|
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||||
"scientific publication, please cite:",
|
"scientific publication, please cite:",
|
||||||
"",
|
"",
|
||||||
" Tange, O. (2024, October 22). GNU Parallel 20241022 ('Sinwar Nasrallah').",
|
" Tange, O. (2024, November 22). GNU Parallel 20241122 ('Ahoo Daryaei').",
|
||||||
" Zenodo. https://doi.org/10.5281/zenodo.13957646",
|
" Zenodo. https://doi.org/10.5281/zenodo.14207479",
|
||||||
"",
|
"",
|
||||||
# Before changing these line, please read
|
# Before changing these line, please read
|
||||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
||||||
|
@ -6163,20 +6163,20 @@ sub citation() {
|
||||||
"If you use programs that use GNU Parallel to process data for an article in a",
|
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||||
"scientific publication, please cite:",
|
"scientific publication, please cite:",
|
||||||
"",
|
"",
|
||||||
"\@software{tange_2024_13957646,",
|
"\@software{tange_2024_14207479,",
|
||||||
" author = {Tange, Ole},",
|
" author = {Tange, Ole},",
|
||||||
" title = {GNU Parallel 20241022 ('Sinwar Nasrallah')},",
|
" title = {GNU Parallel 20241122 ('Ahoo Daryaei')},",
|
||||||
" month = Oct,",
|
" month = Nov,",
|
||||||
" year = 2024,",
|
" year = 2024,",
|
||||||
" note = {{GNU Parallel is a general parallelizer to run",
|
" note = {{GNU Parallel is a general parallelizer to run",
|
||||||
" multiple serial command line programs in parallel",
|
" multiple serial command line programs in parallel",
|
||||||
" without changing them.}},",
|
" without changing them.}},",
|
||||||
" publisher = {Zenodo},",
|
" publisher = {Zenodo},",
|
||||||
" doi = {10.5281/zenodo.13957646},",
|
" doi = {10.5281/zenodo.14207479},",
|
||||||
" url = {https://doi.org/10.5281/zenodo.13957646}",
|
" url = {https://doi.org/10.5281/zenodo.14207479}",
|
||||||
"}",
|
"}",
|
||||||
"",
|
"",
|
||||||
"(Feel free to use \\nocite{tange_2024_13957646})",
|
"(Feel free to use \\nocite{tange_2024_14207479})",
|
||||||
"",
|
"",
|
||||||
# Before changing these lines, please read
|
# Before changing these lines, please read
|
||||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
||||||
|
|
|
@ -134,7 +134,7 @@ B<Bash, Csh, or Tcsh aliases>: Use B<env_parallel>.
|
||||||
|
|
||||||
B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
|
B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
|
||||||
|
|
||||||
=item B<{}> (beta testing)
|
=item B<{}>
|
||||||
|
|
||||||
Input line.
|
Input line.
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ See also: B<--plus> B<{.}> B<{/}> B<{//}> B<{/.}> B<{#}> B<{%}>
|
||||||
B<{>I<n>B<}> B<{=>I<perl expression>B<=}>
|
B<{>I<n>B<}> B<{=>I<perl expression>B<=}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{.}> (beta testing)
|
=item B<{.}>
|
||||||
|
|
||||||
Input line without extension.
|
Input line without extension.
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ The replacement string B<{.}> can be changed with B<--extensionreplace>
|
||||||
See also: B<{}> B<--extensionreplace>
|
See also: B<{}> B<--extensionreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{/}> (beta testing)
|
=item B<{/}>
|
||||||
|
|
||||||
Basename of input line.
|
Basename of input line.
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ directory part removed.
|
||||||
See also: B<{}> B<--basenamereplace>
|
See also: B<{}> B<--basenamereplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{//}> (beta testing)
|
=item B<{//}>
|
||||||
|
|
||||||
Dirname of input line.
|
Dirname of input line.
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ line. See B<dirname>(1).
|
||||||
See also: B<{}> B<--dirnamereplace>
|
See also: B<{}> B<--dirnamereplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{/.}> (beta testing)
|
=item B<{/.}>
|
||||||
|
|
||||||
Basename of input line without extension.
|
Basename of input line without extension.
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ B<{/}> and B<{.}>.
|
||||||
See also: B<{}> B<--basenameextensionreplace>
|
See also: B<{}> B<--basenameextensionreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{#}> (beta testing)
|
=item B<{#}>
|
||||||
|
|
||||||
Sequence number of the job to run.
|
Sequence number of the job to run.
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ job being run. It contains the same number as $PARALLEL_SEQ.
|
||||||
See also: B<{}> B<--seqreplace>
|
See also: B<{}> B<--seqreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{%}> (beta testing)
|
=item B<{%}>
|
||||||
|
|
||||||
Job slot number.
|
Job slot number.
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ Notice how {%} and $PARALLEL_JOBSLOT differ in the retry run of C and D.
|
||||||
See also: B<{}> B<--jobs> B<--slotreplace>
|
See also: B<{}> B<--jobs> B<--slotreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>B<}> (beta testing)
|
=item B<{>I<n>B<}>
|
||||||
|
|
||||||
Argument from input source I<n> or the I<n>'th argument.
|
Argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ See also: B<{}> B<{>I<n>.B<}> B<{>I<n>/B<}> B<{>I<n>//B<}>
|
||||||
B<{>I<n>/.B<}> B<--colsep>
|
B<{>I<n>/.B<}> B<--colsep>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>.B<}> (beta testing)
|
=item B<{>I<n>.B<}>
|
||||||
|
|
||||||
Argument from input source I<n> or the I<n>'th argument without
|
Argument from input source I<n> or the I<n>'th argument without
|
||||||
extension.
|
extension.
|
||||||
|
@ -278,7 +278,7 @@ extension removed.
|
||||||
See also: B<{>I<n>B<}> B<{.}>
|
See also: B<{>I<n>B<}> B<{.}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>/B<}> (beta testing)
|
=item B<{>I<n>/B<}>
|
||||||
|
|
||||||
Basename of argument from input source I<n> or the I<n>'th argument.
|
Basename of argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -292,7 +292,7 @@ directory (if any) removed.
|
||||||
See also: B<{>I<n>B<}> B<{/}>
|
See also: B<{>I<n>B<}> B<{/}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>//B<}> (beta testing)
|
=item B<{>I<n>//B<}>
|
||||||
|
|
||||||
Dirname of argument from input source I<n> or the I<n>'th argument.
|
Dirname of argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ the I<n>'th argument (when used with B<-N>). See B<dirname>(1).
|
||||||
See also: B<{>I<n>B<}> B<{//}>
|
See also: B<{>I<n>B<}> B<{//}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>/.B<}> (beta testing)
|
=item B<{>I<n>/.B<}>
|
||||||
|
|
||||||
Basename of argument from input source I<n> or the I<n>'th argument
|
Basename of argument from input source I<n> or the I<n>'th argument
|
||||||
without extension.
|
without extension.
|
||||||
|
@ -321,7 +321,7 @@ directory (if any) and extension removed.
|
||||||
See also: B<{>I<n>B<}> B<{/.}>
|
See also: B<{>I<n>B<}> B<{/.}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{=>I<perl expression>B<=}> (beta testing)
|
=item B<{=>I<perl expression>B<=}>
|
||||||
|
|
||||||
Replace with calculated I<perl expression>.
|
Replace with calculated I<perl expression>.
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ See also: B<--rpl> B<--parens> B<{}> B<{=>I<n> I<perl expression>B<=}>
|
||||||
B<--filter>
|
B<--filter>
|
||||||
|
|
||||||
|
|
||||||
=item B<{=>I<n> I<perl expression>B<=}> (beta testing)
|
=item B<{=>I<n> I<perl expression>B<=}>
|
||||||
|
|
||||||
Positional equivalent to B<{=>I<perl expression>B<=}>.
|
Positional equivalent to B<{=>I<perl expression>B<=}>.
|
||||||
|
|
||||||
|
@ -447,7 +447,7 @@ To understand positional replacement strings see B<{>I<n>B<}>.
|
||||||
See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}>
|
See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<rpl>:I<format>B<}> (beta testing)
|
=item B<{>I<rpl>:I<format>B<}>
|
||||||
|
|
||||||
Format replacement string.
|
Format replacement string.
|
||||||
|
|
||||||
|
@ -1823,7 +1823,7 @@ If in doubt use B<-X> as that will most likely do what is needed.
|
||||||
See also: B<-X> B<--xargs>
|
See also: B<-X> B<--xargs>
|
||||||
|
|
||||||
|
|
||||||
=item B<--match> I<regexp> (beta testing)
|
=item B<--match> I<regexp>
|
||||||
|
|
||||||
Match input source with regexp to set replacement fields.
|
Match input source with regexp to set replacement fields.
|
||||||
|
|
||||||
|
|
|
@ -4918,6 +4918,8 @@ https://github.com/simonjwright/parallelize
|
||||||
|
|
||||||
=head2 Todo
|
=head2 Todo
|
||||||
|
|
||||||
|
https://github.com/rustunit/parallelrun?tab=readme-ov-file
|
||||||
|
|
||||||
https://github.com/justanhduc/task-spooler
|
https://github.com/justanhduc/task-spooler
|
||||||
|
|
||||||
https://manpages.ubuntu.com/manpages/xenial/man1/tsp.1.html
|
https://manpages.ubuntu.com/manpages/xenial/man1/tsp.1.html
|
||||||
|
|
|
@ -25,17 +25,6 @@ FUBAR in all files in this dir and subdirs:
|
||||||
Note B<-q> is needed because of the space in 'FOO BAR'.
|
Note B<-q> is needed because of the space in 'FOO BAR'.
|
||||||
|
|
||||||
|
|
||||||
=head2 EXAMPLE: Simple network scanner
|
|
||||||
|
|
||||||
B<prips> can generate IP-addresses from CIDR notation. With GNU
|
|
||||||
B<parallel> you can build a simple network scanner to see which
|
|
||||||
addresses respond to B<ping>:
|
|
||||||
|
|
||||||
prips 130.229.16.0/20 | \
|
|
||||||
parallel --timeout 2 -j0 \
|
|
||||||
'ping -c 1 {} >/dev/null && echo {}' 2>/dev/null
|
|
||||||
|
|
||||||
|
|
||||||
=head2 EXAMPLE: Reading arguments from command line
|
=head2 EXAMPLE: Reading arguments from command line
|
||||||
|
|
||||||
GNU B<parallel> can take the arguments from command line instead of
|
GNU B<parallel> can take the arguments from command line instead of
|
||||||
|
@ -49,6 +38,20 @@ To convert *.wav to *.mp3 using LAME running one process per CPU run:
|
||||||
parallel lame {} -o {.}.mp3 ::: *.wav
|
parallel lame {} -o {.}.mp3 ::: *.wav
|
||||||
|
|
||||||
|
|
||||||
|
=head2 EXAMPLE: Running full commands in parallel
|
||||||
|
|
||||||
|
If there is no command given to GNU B<parallel>, then the arguments
|
||||||
|
are treated as a command line.
|
||||||
|
|
||||||
|
To run B<gzip foo> and B<bzip2 bar> in parallel run:
|
||||||
|
|
||||||
|
parallel ::: "gzip foo" "bzip2 bar"
|
||||||
|
|
||||||
|
or:
|
||||||
|
|
||||||
|
(echo "gzip foo"; echo "bzip2 bar") | parallel
|
||||||
|
|
||||||
|
|
||||||
=head2 EXAMPLE: Inserting multiple arguments
|
=head2 EXAMPLE: Inserting multiple arguments
|
||||||
|
|
||||||
When moving a lot of files like this: B<mv *.log destdir> you will
|
When moving a lot of files like this: B<mv *.log destdir> you will
|
||||||
|
@ -377,6 +380,17 @@ the log:
|
||||||
mv log log.1
|
mv log log.1
|
||||||
|
|
||||||
|
|
||||||
|
=head2 EXAMPLE: Simple network scanner
|
||||||
|
|
||||||
|
B<prips> can generate IP-addresses from CIDR notation. With GNU
|
||||||
|
B<parallel> you can build a simple network scanner to see which
|
||||||
|
addresses respond to B<ping>:
|
||||||
|
|
||||||
|
prips 130.229.16.0/20 | \
|
||||||
|
parallel --timeout 2 -j0 \
|
||||||
|
'ping -c 1 {} >/dev/null && echo {}' 2>/dev/null
|
||||||
|
|
||||||
|
|
||||||
=head2 EXAMPLE: Removing file extension when processing files
|
=head2 EXAMPLE: Removing file extension when processing files
|
||||||
|
|
||||||
When processing files removing the file extension using B<{.}> is
|
When processing files removing the file extension using B<{.}> is
|
||||||
|
|
|
@ -137,7 +137,7 @@ GetOptions(
|
||||||
"help" => \$opt::dummy,
|
"help" => \$opt::dummy,
|
||||||
) || exit(255);
|
) || exit(255);
|
||||||
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
|
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
|
||||||
$Global::version = 20241022;
|
$Global::version = 20241122;
|
||||||
if($opt::version) { version(); exit 0; }
|
if($opt::version) { version(); exit 0; }
|
||||||
# Remove -D and --parallel=N
|
# Remove -D and --parallel=N
|
||||||
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
|
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -693,7 +693,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20241022;
|
$Global::version = 20241122;
|
||||||
$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
|
||||||
|
|
Loading…
Reference in a new issue