[-]
[+]
|
Changed |
_service:tar_git:parallel.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/sailfishos-chum/parallel</param>
<param name="branch"></param>
- <param name="revision">20230322+git1</param>
+ <param name="revision">20230422+git1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/NEWS
^
|
@@ -1,3 +1,29 @@
+20230422
+
+New in this release:
+
+* --jobs evaluates expression: +3*log(55)% = ncpu*1.12
+
+* Bug fixes and man page updates.
+
+News about GNU Parallel:
+
+* Running shell script in parallel
+ https://w3toppers.com/running-shell-script-in-parallel/
+
+* Simulating climate risk scenarios for the Amazon Rainforest
+ https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/
+
+* How To Use Your Entire CPU In Bash With Parallel
+ https://bash-prompt.net/guides/parallell-bash/
+
+* Bash - parallel command execution
+ https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6
+
+* 3 tips for faster batch post-pro
+ https://www.cfdengine.com/newsletter/142/
+
+
20230322
New in this release:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/README
^
|
@@ -57,11 +57,11 @@
Full installation of GNU Parallel is as simple as:
- wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2.sig
- gpg parallel-20230322.tar.bz2.sig
- bzip2 -dc parallel-20230322.tar.bz2 | tar xvf -
- cd parallel-20230322
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig
+ gpg parallel-20230422.tar.bz2.sig
+ bzip2 -dc parallel-20230422.tar.bz2 | tar xvf -
+ cd parallel-20230422
./configure && make && sudo make install
@@ -70,11 +70,11 @@
If you are not root you can add ~/bin to your path and install in
~/bin and ~/share:
- wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2.sig
- gpg parallel-20230322.tar.bz2.sig
- bzip2 -dc parallel-20230322.tar.bz2 | tar xvf -
- cd parallel-20230322
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig
+ gpg parallel-20230422.tar.bz2.sig
+ bzip2 -dc parallel-20230422.tar.bz2 | tar xvf -
+ cd parallel-20230422
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@@ -122,8 +122,8 @@
When using programs that use GNU Parallel to process data for
publication please cite:
- Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant').
- Zenodo. https://doi.org/10.5281/zenodo.7761866
+ Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury').
+ Zenodo. https://doi.org/10.5281/zenodo.7855617
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for parallel 20230322.
+# Generated by GNU Autoconf 2.71 for parallel 20230422.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@@ -610,8 +610,8 @@
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20230322'
-PACKAGE_STRING='parallel 20230322'
+PACKAGE_VERSION='20230422'
+PACKAGE_STRING='parallel 20230422'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@@ -1246,7 +1246,7 @@
# 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 20230322 to adapt to many kinds of systems.
+\`configure' configures parallel 20230422 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1313,7 +1313,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of parallel 20230322:";;
+ short | recursive ) echo "Configuration of parallel 20230422:";;
esac
cat <<\_ACEOF
@@ -1390,7 +1390,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-parallel configure 20230322
+parallel configure 20230422
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1427,7 +1427,7 @@
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 20230322, which was
+It was created by parallel $as_me 20230422, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2379,7 +2379,7 @@
# Define the identity of the package.
PACKAGE='parallel'
- VERSION='20230322'
+ VERSION='20230422'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -3026,7 +3026,7 @@
# 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 20230322, which was
+This file was extended by parallel $as_me 20230422, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3090,7 +3090,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-parallel config.status 20230322
+parallel config.status 20230422
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/configure.ac
^
|
@@ -1,4 +1,4 @@
-AC_INIT([parallel],[20230322],[bug-parallel@gnu.org])
+AC_INIT([parallel],[20230422],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/doc/citation-notice-faq.txt
^
|
@@ -121,7 +121,7 @@
The citation is also needed for reproducibility: Let us assume a bug
in GNU Parallel skews the results. People replicating the research
-needs to have the information, so they can replicate the (possibly
+need to have the information, so they can replicate the (possibly
wrong) results.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/doc/haikus
^
|
@@ -4,6 +4,7 @@
Quote of the month:
+
Recently learned how to use GNU parallel (from ChatGPT, no less!) and I've gone mad with power
-- Mark, Anthropomorphic Anuran @reject_resubmit@twitter
@@ -230,6 +231,9 @@
=== Used ===
+ parallel might be one of the best utilities out there
+ -- @ThePrimeagen ThePrimeagen
+
GNU parallel is magic, half of my work uses it, to the point where they're referenced and thanked in my thesis
-- Best Catboy Key Grip @alamogordoglass@twitter
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/doc/release_new_version
^
|
@@ -105,6 +105,7 @@
. .last-doitag.txt
file_path="`pwd`/parallel-$YYYYMMDD.tar.bz2"
title="GNU Parallel $YYYYMMDD ('$SPCTAG') [stable]"
+title="GNU Parallel $YYYYMMDD ('$SPCTAG')"
name="GNU-Parallel-$YYYYMMDD-$TAG"
author="Ole Tange"
license="GNU GPLv3 or later"
@@ -262,28 +263,32 @@
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
-Subject: GNU Parallel 20230322 ('Arrest Warrant') released
+Subject: GNU Parallel 20230422 ('Grand Jury') released
-GNU Parallel 20230322 ('Arrest Warrant') has been released. It is available for download at: lbry://@GnuParallel:4
+GNU Parallel 20230422 ('Grand Jury') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
- GNU parallel is magic, half of my work uses it, to the point where they're referenced and thanked in my thesis
- -- Best Catboy Key Grip @alamogordoglass@twitter
+ parallel might be one of the best utilities out there
+ -- @ThePrimeagen ThePrimeagen
New in this release:
-* Better support for wide characters in --latest-line.
-
-* Support for rsync 3.2.7.
+* --jobs evaluates expression: +3*log(55)% = ncpu*1.12
* Bug fixes and man page updates.
News about GNU Parallel:
-* Analyzing multi-gigabyte JSON files locally https://thenybble.de/posts/json-analysis/
+* Running shell script in parallel https://w3toppers.com/running-shell-script-in-parallel/
+
+* Simulating climate risk scenarios for the Amazon Rainforest https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/
+
+* How To Use Your Entire CPU In Bash With Parallel https://bash-prompt.net/guides/parallell-bash/
+
+* Bash - parallel command execution https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6
-* 5 great Perl scripts to keep in your sysadmin toolbox https://www.redhat.com/sysadmin/perl-scripts
+* 3 tips for faster batch post-pro https://www.cfdengine.com/newsletter/142/
GNU Parallel - For people who live life in the parallel lane.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/packager/obs/home-tange/parallel/.osc/_files
^
|
@@ -1,7 +1,7 @@
-<directory name="parallel" rev="360" vrev="4" srcmd5="2ac7ba4f60d5521c729371ba986b36db">
- <entry name="PKGBUILD" md5="f1e9f71229d2c45e7dcf5579f11c2643" size="1246" mtime="1679526191" />
- <entry name="parallel-20230322.tar.bz2" md5="7754cbb70aea7382c694aed96c56c895" size="2479654" mtime="1679526191" />
- <entry name="parallel.spec" md5="b868aba8a474169049cdd5888b17c986" size="6224" mtime="1679525330" />
- <entry name="parallel_20230322.dsc" md5="2f852e11d4d7e8612518786a91009b63" size="556" mtime="1679525330" />
- <entry name="parallel_20230322.tar.gz" md5="41bcf589033dd9c0d990215c172d4fb0" size="2756979" mtime="1679525331" />
+<directory name="parallel" rev="361" vrev="2" srcmd5="2a7d8bb12a37e2a1df51974e30fcac52">
+ <entry name="PKGBUILD" md5="7577ce8166ca189fa31d1f9f9dd0aec5" size="1246" mtime="1682193426" />
+ <entry name="parallel-20230422.tar.bz2" md5="67663e5dd2387bab6367c397b1d8303a" size="2483119" mtime="1682193427" />
+ <entry name="parallel.spec" md5="c67cb63ddd8b10dfa55d1e01c846a4ce" size="6224" mtime="1682193427" />
+ <entry name="parallel_20230422.dsc" md5="a994db64fe980a7c2e89b5c32ece2e1e" size="556" mtime="1682193427" />
+ <entry name="parallel_20230422.tar.gz" md5="0be0cb9baa636daed69ad91214f0c628" size="2762791" mtime="1682193428" />
</directory>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/packager/obs/home-tange/parallel/.osc/parallel.spec
^
|
@@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
-Version: 20230322
+Version: 20230422
Release: 2.1
License: GPL-3.0-or-later
Group: Productivity/File utilities
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel
^
|
@@ -83,8 +83,8 @@
Do this and restart your shell:
-bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
- E.g. by doing: echo '. `which env_parallel.bash`' >> $HOME/.bashrc
+bash: Put this in $HOME/.bashrc: . env_parallel.bash
+ E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
Supports: variables, aliases, functions, arrays
fish: Put this in $HOME/.config/fish/config.fish: . (which env_parallel.fish)
@@ -92,28 +92,28 @@
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
Supports: variables, aliases, functions, arrays
-ksh: Put this in $HOME/.kshrc: source `which env_parallel.ksh`
- E.g. by doing: echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
+ksh: Put this in $HOME/.kshrc: source env_parallel.ksh
+ E.g. by doing: echo 'source env_parallel.ksh' >> $HOME/.kshrc
Supports: variables, aliases, functions, arrays
-mksh: Put this in $HOME/.mkshrc: source `which env_parallel.mksh`
- E.g. by doing: echo 'source `which env_parallel.mksh`' >> $HOME/.mkshrc
+mksh: Put this in $HOME/.mkshrc: source env_parallel.mksh
+ E.g. by doing: echo 'source env_parallel.mksh' >> $HOME/.mkshrc
Supports: variables, aliases, functions, arrays
-pdksh: Put this in $HOME/.profile: source `which env_parallel.pdksh`
- E.g. by doing: echo '. `which env_parallel.pdksh`' >> $HOME/.profile
+pdksh: Put this in $HOME/.profile: source env_parallel.pdksh
+ E.g. by doing: echo '. env_parallel.pdksh' >> $HOME/.profile
Supports: variables, aliases, functions, arrays
-zsh: Put this in $HOME/.zshrc: . `which env_parallel.zsh`
- E.g. by doing: echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
+zsh: Put this in $HOME/.zshrc: . env_parallel.zsh
+ E.g. by doing: echo '. env_parallel.zsh' >> $HOME/.zshenv
Supports: variables, functions, arrays
-ash: Put this in $HOME/.profile: . `which env_parallel.ash`
- E.g. by doing: echo '. `which env_parallel.ash`' >> $HOME/.profile
+ash: Put this in $HOME/.profile: . env_parallel.ash
+ E.g. by doing: echo '. env_parallel.ash' >> $HOME/.profile
Supports: variables, aliases
-dash: Put this in $HOME/.profile: . `which env_parallel.dash`
- E.g. by doing: echo '. `which env_parallel.dash`' >> $HOME/.profile
+dash: Put this in $HOME/.profile: . env_parallel.dash
+ E.g. by doing: echo '. env_parallel.dash' >> $HOME/.profile
Supports: variables, aliases
csh: Put this in $HOME/.cshrc: source `which env_parallel.csh`
@@ -130,13 +130,13 @@
In a script you need to run this before using env_parallel:
-bash: . `which env_parallel.bash`
-ksh: source `which env_parallel.ksh`
-mksh: source `which env_parallel.mksh`
-pdksh: source `which env_parallel.pdksh`
-zsh: . `which env_parallel.zsh`
-ash: . `which env_parallel.ash`
-dash: . `which env_parallel.dash`
+bash: . env_parallel.bash
+ksh: source env_parallel.ksh
+mksh: source env_parallel.mksh
+pdksh: source env_parallel.pdksh
+zsh: . env_parallel.zsh
+ash: . env_parallel.ash
+dash: . env_parallel.dash
For details: see man env_parallel
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.ash
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in ash:
#
-# . `which env_parallel.ash`
+# . env_parallel.ash
#
# after which 'env_parallel' works
#
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.bash
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in bash:
#
-# source `which env_parallel.bash`
+# source env_parallel.bash
#
# after which 'env_parallel' works
#
@@ -395,7 +395,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.dash
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in dash:
#
-# . `which env_parallel.dash`
+# . env_parallel.dash
#
# after which 'env_parallel' works
#
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.ksh
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in ksh:
#
-# source `which env_parallel.ksh`
+# source env_parallel.ksh
#
# after which 'env_parallel' works
#
@@ -376,7 +376,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.mksh
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in mksh:
#
-# source `which env_parallel.mksh`
+# source env_parallel.mksh
#
# after which 'env_parallel' works
#
@@ -378,7 +378,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.pdksh
^
|
@@ -2,7 +2,7 @@
# This file must be sourced in pdksh:
#
-# source `which env_parallel.pdksh`
+# source env_parallel.pdksh
#
# after which 'env_parallel' works
#
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.pod
^
|
@@ -147,11 +147,11 @@
Put this in $HOME/.profile:
- . `which env_parallel.ash`
+ . env_parallel.ash
E.g. by doing:
- echo '. `which env_parallel.ash`' >> $HOME/.profile
+ echo '. env_parallel.ash' >> $HOME/.profile
=head3 Supported use
@@ -201,11 +201,11 @@
Put this in $HOME/.bashrc:
- . `which env_parallel.bash`
+ . env_parallel.bash
E.g. by doing:
- echo '. `which env_parallel.bash`' >> $HOME/.bashrc
+ echo '. env_parallel.bash' >> $HOME/.bashrc
=head3 Supported use
@@ -328,11 +328,11 @@
Put this in $HOME/.profile:
- . `which env_parallel.dash`
+ . env_parallel.dash
E.g. by doing:
- echo '. `which env_parallel.dash`' >> $HOME/.profile
+ echo '. env_parallel.dash' >> $HOME/.profile
=head3 Supported use
@@ -443,11 +443,11 @@
Put this in $HOME/.kshrc:
- source `which env_parallel.ksh`
+ source env_parallel.ksh
E.g. by doing:
- echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
+ echo 'source env_parallel.ksh' >> $HOME/.kshrc
=head3 Supported use
@@ -507,11 +507,11 @@
Put this in $HOME/.mkshrc:
- source `which env_parallel.mksh`
+ source env_parallel.mksh
E.g. by doing:
- echo 'source `which env_parallel.mksh`' >> $HOME/.mkshrc
+ echo 'source env_parallel.mksh' >> $HOME/.mkshrc
=head3 Supported use
@@ -571,11 +571,11 @@
Put this in $HOME/.profile:
- source `which env_parallel.pdksh`
+ source env_parallel.pdksh
E.g. by doing:
- echo 'source `which env_parallel.pdksh`' >> $HOME/.profile
+ echo 'source env_parallel.pdksh' >> $HOME/.profile
=head3 Supported use
@@ -628,11 +628,11 @@
Put this in $HOME/.profile:
- . `which env_parallel.sh`
+ . env_parallel.sh
E.g. by doing:
- echo '. `which env_parallel.sh`' >> $HOME/.profile
+ echo '. env_parallel.sh' >> $HOME/.profile
=head3 Supported use
@@ -730,11 +730,11 @@
Put this in $HOME/.zshrc:
- . `which env_parallel.zsh`
+ . env_parallel.zsh
E.g. by doing:
- echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
+ echo '. env_parallel.zsh' >> $HOME/.zshenv
=head3 Supported use
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.sh
^
|
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/env_parallel.zsh
^
|
@@ -368,7 +368,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230322 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/niceload
^
|
@@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20230322;
+$Global::version = 20230422;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/parallel
^
|
@@ -1799,10 +1799,6 @@
"[Use the replacement string replace-str instead of {%} for job ".
"slot number]:replace-str"
=> \$opt::slotreplace),
- ("jobs|j=s".
- "[(Add +N to/Subtract -N from/Multiply N%) the number of CPU ".
- "threads or read parameter from file]:_files"
- => \$opt::jobs),
("delay=s".
"[Delay starting next job by duration]:duration" => \$opt::delay),
("ssh-delay|sshdelay=f".
@@ -1985,7 +1981,7 @@
("term-seq|termseq=s".
"[Termination sequence]:sequence" => \$opt::termseq),
# xargs-compatibility - implemented, man, testsuite
- ("max-procs|maxprocs|P=s".
+ ("max-procs|maxprocs|P|jobs|j=s".
"[Add N to/Subtract N from/Multiply N% with/ the number of CPU ".
"threads or read parameter from file]:+N/-N/N%/N/procfile:_files"
=> \$opt::jobs),
@@ -2766,7 +2762,7 @@
sub init_globals() {
# Defaults:
- $Global::version = 20230322;
+ $Global::version = 20230422;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@@ -3147,6 +3143,8 @@
# Do not log if --sqlworker
if($opt::resume || $opt::resume_failed || $opt::retry_failed) {
if(open(my $joblog_fh, "<", $opt::joblog)) {
+ # Enable utf8 if possible
+ eval q{ binmode $joblog_fh, "encoding(utf8)"; };
# Read the joblog
# Override $/ with \n because -d might be set
local $/ = "\n";
@@ -5713,8 +5711,8 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- " Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant').",
- " Zenodo. https://doi.org/10.5281/zenodo.7761866",
+ " Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury').",
+ " Zenodo. https://doi.org/10.5281/zenodo.7855617",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
@@ -5746,8 +5744,8 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- " Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant').",
- " Zenodo. https://doi.org/10.5281/zenodo.7761866",
+ " Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury').",
+ " Zenodo. https://doi.org/10.5281/zenodo.7855617",
"",
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@@ -5874,20 +5872,20 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- "\@software{tange_2023_7761866,",
+ "\@software{tange_2023_7855617,",
" author = {Tange, Ole},",
- " title = {GNU Parallel 20230322 ('Arrest Warrant')},",
- " month = Mar,",
+ " title = {GNU Parallel 20230422 ('Grand Jury')},",
+ " month = Apr,",
" year = 2023,",
" note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel",
" without changing them.}},",
" publisher = {Zenodo},",
- " doi = {10.5281/zenodo.7761866},",
- " url = {https://doi.org/10.5281/zenodo.7761866}",
+ " doi = {10.5281/zenodo.7855617},",
+ " url = {https://doi.org/10.5281/zenodo.7855617}",
"}",
"",
- "(Feel free to use \\nocite{tange_2023_7761866})",
+ "(Feel free to use \\nocite{tange_2023_7855617})",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@@ -8245,28 +8243,7 @@
my $opt_P = shift;
my $processes;
if(defined $opt_P) {
- if($opt_P =~ /^\+(\d+)$/) {
- # E.g. -P +2
- my $j = $1;
- $processes =
- $self->ncpus() + $j;
- } elsif ($opt_P =~ /^-(\d+)$/) {
- # E.g. -P -2
- my $j = $1;
- $processes =
- $self->ncpus() - $j;
- } elsif ($opt_P =~ /^(\d+(\.\d+)?)\%$/) {
- # E.g. -P 10.5%
- my $j = $1;
- $processes =
- $self->ncpus() * $j / 100;
- } elsif ($opt_P =~ /^(\d+)$/) {
- $processes = $1;
- if($processes == 0) {
- # -P 0 = infinity (or at least close)
- $processes = $Global::infinity;
- }
- } elsif (-f $opt_P) {
+ if (-f $opt_P) {
$Global::max_procs_file = $opt_P;
if(open(my $in_fh, "<", $Global::max_procs_file)) {
my $opt_P_file = join("",<$in_fh>);
@@ -8277,8 +8254,15 @@
::wait_and_exit(255);
}
} else {
- ::error("Parsing of --jobs/-j/--max-procs/-P failed.");
- ::die_usage();
+ # -P +3 and -P -1
+ $opt_P =~ s/^([-+])/\$self->ncpus()$1/;
+ # -P 40%
+ $opt_P =~ s:%$:*\$self->ncpus()/100:;
+ $processes = eval $opt_P;
+ if($processes == 0) {
+ # -P 0 = infinity (or at least close)
+ $processes = $Global::infinity;
+ }
}
$processes = ::ceil($processes);
}
@@ -11446,22 +11430,25 @@
}
}
- sub truncate_mbs($$) {
+ sub mbtrunc($$) {
+ # Simple mbtrunc to avoid using Text::WideChar::Util
my $str = shift;
my $len = shift;
if(::mbswidth($str) == length($str)) {
$str = substr($str,0,$len);
} else {
- # Highly inefficient truncator
- while(::mbswidth($str) > $len) {
- do {
- chop $str;
- } while(::mbswidth($str) < 0);
- }
+ # mb chars (ヌー平行) are wider than 1 char on screen
+ # We need at most $len chars - they may be wide
+ $str =~ s/(.{$len}).*/$1/;
+ my $rlen = int((::mbswidth($str) - $len)/2+0.5);
+ do {
+ $str =~ s/.{$rlen}$//;
+ $rlen = int((::mbswidth($str) - $len)/2+0.5);
+ } while($rlen >= 1);
}
return $str;
}
-
+
sub print_latest_line($) {
my $self = shift;
my $out_fh = shift;
@@ -11479,14 +11466,15 @@
}
my ($color,$reset_color) = $self->color();
my $termcol = ::terminal_columns();
- my $untabify_tag = $self->untabtag();
- my $untabify_str = ::untabify($self->{$out_fh,'latestline'});
+ my $untabify_tag = ::decode_utf8($self->untabtag());
+ my $untabify_str =
+ ::untabify(::decode_utf8($self->{$out_fh,'latestline'}));
# -1 to make space for $truncated_str
my $maxtaglen = $termcol - 1;
- $untabify_tag = truncate_mbs($untabify_tag,$maxtaglen);
+ $untabify_tag = mbtrunc($untabify_tag,$maxtaglen);
my $taglen = ::mbswidth($untabify_tag);
my $maxstrlen = $termcol - $taglen - 1;
- $untabify_str = truncate_mbs($untabify_str,$maxstrlen);
+ $untabify_str = mbtrunc($untabify_str,$maxstrlen);
my $strlen = ::mbswidth($untabify_str);
my $truncated_tag = "";
my $truncated_str = "";
@@ -11505,8 +11493,8 @@
"%s" # down
),
"$up"x($currow - $row), "\n"x($row - $currow), "\r", $eol,
- ::decode_utf8($untabify_tag),$truncated_tag,
- $color, ::decode_utf8($untabify_str), $truncated_str, $reset_color,
+ $untabify_tag,$truncated_tag,
+ $color, $untabify_str, $truncated_str, $reset_color,
"\n"x($maxrow - $row + 1));
$currow = $maxrow + 1;
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/parallel.pod
^
|
@@ -1375,19 +1375,27 @@
See also: B<--resume> B<--resume-failed>
-=item B<--jobs> I<N>
+=item B<--jobs> I<num> (alpha testing)
-=item B<-j> I<N>
+=item B<-j> I<num> (alpha testing)
-=item B<--max-procs> I<N>
+=item B<--max-procs> I<num> (alpha testing)
-=item B<-P> I<N>
+=item B<-P> I<num> (alpha testing)
Number of jobslots on each machine.
-Run up to N jobs in parallel. 0 means as many as possible (this can
-take a while to determine). Default is 100% which will run one job per
-CPU thread on each machine.
+Run up to I<num> jobs in parallel. Default is 100%.
+
+=over 7
+
+=item I<num>
+
+Run up to I<num> jobs in parallel.
+
+=item Z<>0
+
+Run as many as possible (this can take a while to determine).
Due to a bug B<-j 0> will also evaluate replacement strings twice up
to the number of joblots:
@@ -1397,80 +1405,48 @@
# This will count from 1
seq 10000 | parallel -j100 echo '{= $_ = $foo++; =}' | head
-If B<--semaphore> is set, the default is 1 thus making a mutex.
-
-See also: B<--use-cores-instead-of-threads>
-B<--use-sockets-instead-of-threads>
-
-
-
-=item B<--jobs> I<+N>
-
-=item B<-j> I<+N>
-
-=item B<--max-procs> I<+N>
-
-=item B<-P> I<+N>
-
-Add N to the number of CPU threads.
-
-Run this many jobs in parallel.
-
-See also: B<--number-of-threads> B<--number-of-cores>
-B<--number-of-sockets>
-
+=item I<num>%
-=item B<--jobs> I<-N>
+Multiply the number of CPU threads by I<num> percent. E.g. 100% means
+one job per CPU thread on each machine.
-=item B<-j> I<-N>
+=item +I<num>
-=item B<--max-procs> I<-N>
+Add I<num> to the number of CPU threads.
-=item B<-P> I<-N>
+=item -I<num>
-Subtract N from the number of CPU threads.
+Subtract I<num> from the number of CPU threads.
-Run this many jobs in parallel. If the evaluated number is less than
-1 then 1 will be used.
+=item I<expr>
-See also: B<--number-of-threads> B<--number-of-cores>
-B<--number-of-sockets>
+Evaluate I<expr>. E.g. '12/2' to get 6, '+25%' gives the same as
+'125%', or complex expressions like '+3*log(55)%' which means:
+multiply 3 by log(55), multiply that by the number of CPU threads and
+divide by 100, add this to the number of CPU threads.
+=item I<procfile>
-=item B<--jobs> I<N>%
-
-=item B<-j> I<N>%
-
-=item B<--max-procs> I<N>%
-
-=item B<-P> I<N>%
-
-Multiply N% with the number of CPU threads.
-
-Run this many jobs in parallel.
-
-See also: B<--number-of-threads> B<--number-of-cores>
-B<--number-of-sockets>
-
+Read parameter from file.
-=item B<--jobs> I<procfile>
+Use the content of I<procfile> as parameter for
+I<-j>. E.g. I<procfile> could contain the string 100% or +2 or 10.
-=item B<-j> I<procfile>
+If I<procfile> is changed when a job completes, I<procfile> is read
+again and the new number of jobs is computed. If the number is lower
+than before, running jobs will be allowed to finish but new jobs will
+not be started until the wanted number of jobs has been reached. This
+makes it possible to change the number of simultaneous running jobs
+while GNU B<parallel> is running.
-=item B<--max-procs> I<procfile>
+=back
-=item B<-P> I<procfile>
+If the evaluated number is less than 1 then 1 will be used.
-Read parameter from file.
+If B<--semaphore> is set, the default is 1 thus making a mutex.
-Use the content of I<procfile> as parameter for
-I<-j>. E.g. I<procfile> could contain the string 100% or +2 or 10. If
-I<procfile> is changed when a job completes, I<procfile> is read again
-and the new number of jobs is computed. If the number is lower than
-before, running jobs will be allowed to finish but new jobs will not
-be started until the wanted number of jobs has been reached. This
-makes it possible to change the number of simultaneous running jobs
-while GNU B<parallel> is running.
+See also: B<--use-cores-instead-of-threads>
+B<--use-sockets-instead-of-threads>
=item B<--keep-order>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/parallel_alternatives.pod
^
|
@@ -3917,6 +3917,10 @@
=head2 Todo
+https://www.npmjs.com/package/concurrently
+
+https://github.com/thilinaba/bash-parallel
+
http://code.google.com/p/push/ (cannot compile)
https://github.com/krashanoff/parallel
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/parallel_examples.pod
^
|
@@ -161,7 +161,7 @@
cat urlfile | parallel "wget {} 2>/dev/null || grep -n {} urlfile"
-Create a mirror directory with the same filenames except all files and
+Create a mirror directory with the same file names except all files and
symlinks are empty files.
cp -rs /the/source/dir mirror_dir
@@ -288,6 +288,21 @@
parallel lame {} -o mydir/{/.}.mp3
+=head2 EXAMPLE: Replacing parts of file names
+
+If you deal with paired end reads, you will have files like
+barcode1_R1.fq.gz, barcode1_R2.fq.gz, barcode2_R1.fq.gz, and
+barcode2_R2.fq.gz.
+
+You want barcodeI<N>_R1 to be processed with barcodeI<N>_R2.
+
+ parallel --plus myprocess {} {/_R1.fq.gz/_R2.fq.gz} ::: *_R1.fq.gz
+
+If the barcode does not contain '_R1', you can do:
+
+ parallel --plus myprocess {} {/_R1/_R2} ::: *_R1.fq.gz
+
+
=head2 EXAMPLE: Removing strings from the argument
If you have directory with tar.gz files and want these extracted in
@@ -1719,7 +1734,7 @@
print "exclusively";
-=head2 EXAMPLE: Start editor with filenames from stdin (standard input)
+=head2 EXAMPLE: Start editor with file names from stdin (standard input)
You can use GNU B<parallel> to start interactive programs like emacs or vi:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/parsort
^
|
@@ -137,7 +137,7 @@
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
-$Global::version = 20230322;
+$Global::version = 20230422;
if($opt::version) { version(); exit 0; }
# Remove -D and --parallel=N
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/src/sql
^
|
@@ -670,7 +670,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20230322;
+ $Global::version = 20230422;
$Global::progname = 'sql';
# This must be done first as this may exec myself
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-centos3.sh
^
|
@@ -29,6 +29,9 @@
start_centos3() {
stdout ping -w 1 -c 1 centos3 >/dev/null || (
# Vagrant does not set the IP addr
+ # cd to the centos3 dir with the Vagrantfile
+ # Try different "cd"s as the script may be started from another dir
+ cd $testsuitedir/vagrant/tange/centos3/ 2>/dev/null
cd testsuite/vagrant/tange/centos3/ 2>/dev/null
cd vagrant/tange/centos3/ 2>/dev/null
cd ../vagrant/tange/centos3/ 2>/dev/null
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-0.3s.sh
^
|
@@ -16,6 +16,15 @@
# Test amount of parallelization
# parallel --shuf --jl /tmp/myjl -j1 'export JOBS={1};'bash tests-to-run/parallel-local-0.3s.sh ::: {1..16} ::: {1..5}
+par_ll_no_newline() {
+ echo 'bug #64030: parallel --ll echo -n ::: foo'
+ parallel --ll echo -n ::: two lines | sort
+ parallel --ll echo -n '>&2' ::: two lines | sort
+ parallel --linebuffer 'echo -n last {}' ::: line
+ stdout parallel --linebuffer 'echo -n last {} >&2' ::: line
+ echo
+}
+
par_ll_long_followed_by_short() {
parallel --ll 'echo A very long line;sleep 0.2;echo' ::: OK | puniq
}
@@ -70,7 +79,7 @@
par_env_parallel_pipefail() {
cat <<'EOF' | bash
echo "### test env_parallel with pipefail + inherit_errexit"
- . $(which env_parallel.bash)
+ . env_parallel.bash
env_parallel --session
set -Eeuo pipefail
shopt -s inherit_errexit
@@ -210,7 +219,7 @@
echo Should give 60k and not overflow
PARALLEL_ENV="$PARALLEL_ENV" parallel echo '{=$_="\""x$_=}' ::: 60000 | wc
}
- . `which env_parallel.bash`
+ . env_parallel.bash
# Make PARALLEL_ENV as big as possible
PARALLEL_ENV="a='$(seq 100000 | head -c $((139000-$(set|wc -c) )) )'"
env_parallel doit ::: 1
@@ -587,7 +596,7 @@
}
par_extglob() {
- bash -O extglob -c '. `which env_parallel.bash`;
+ bash -O extglob -c '. env_parallel.bash;
_longopt () {
case "$prev" in
--+([-a-z0-9_]))
@@ -674,7 +683,7 @@
}
par_parset_tee() {
- . $(which env_parallel.bash)
+ . env_parallel.bash
export PARALLEL='-k --tee --pipe --tag'
parset a,b 'grep {}|wc' ::: 1 5 < <(seq 10000)
echo $a
@@ -952,7 +961,7 @@
echo 'bug #54647: parset ignores empty lines'
# really due to this. Should give an empty line due to -v:
parallel -v :::: <(echo)
- . `which env_parallel.bash`
+ . env_parallel.bash
parset a,b,c :::: <(echo echo A; echo; echo echo C)
echo Empty: $b
parset a,b,c :::: <(echo echo A; echo echo B; echo echo C)
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-100s.sh
^
|
@@ -39,7 +39,7 @@
# Random data because it does not compress well
# forcing the compress tool to spit out compressed blocks
perl -pe 'y/[A-Za-z]//cd; $t++ % 1000 or print "\n"' < /dev/urandom |
- head -c 10000000 > $randomfile
+ head -c 10000000 > "$randomfile"
export randomfile
testfunc() {
@@ -49,10 +49,10 @@
# generate some incompressible ascii
# with lines starting with the same string
id=$1
- shuf $randomfile | perl -pe 's/^/'$id' /'
+ shuf "$randomfile" | perl -pe 's/^/'$id' /'
# Sleep to give time to linebuffer-print the first part
sleep 10
- shuf $randomfile | perl -pe 's/^/'$id' /'
+ shuf "$randomfile" | perl -pe 's/^/'$id' /'
echo
}
export -f incompressible_ascii
@@ -72,15 +72,15 @@
}
# These can run in parallel if there are enough ressources
- testfunc > $nolbfile
- testfunc > $controlfile
- testfunc --linebuffer > $lbfile
+ testfunc > "$nolbfile"
+ testfunc > "$controlfile"
+ testfunc --linebuffer > "$lbfile"
wait
- nolb="$(cat $nolbfile)"
- control="$(cat $controlfile)"
- lb="$(cat $lbfile)"
- rm $nolbfile $lbfile $controlfile $randomfile
+ nolb="$(cat "$nolbfile")"
+ control="$(cat "$controlfile")"
+ lb="$(cat "$lbfile")"
+ rm "$nolbfile" "$lbfile" "$controlfile" "$randomfile"
if [ "$nolb" == "$control" ] ; then
if [ "$lb" == "$nolb" ] ; then
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-10s.sh
^
|
@@ -761,10 +761,6 @@
}
par_jobs_file() {
- echo '### Test of -j filename - non-existent file'
- stdout parallel -j no_such_file echo ::: 1 |
- perl -ne '/Tange, O.|Zenodo./ or print'
-
echo '### Test of -j filename'
echo 3 >/tmp/jobs_to_run1
parallel -j /tmp/jobs_to_run1 -v sleep {} ::: 10 8 6 5 4
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-300s.sh
^
|
@@ -18,38 +18,55 @@
echo '### compare the exit codes'
echo 'directly from shells, shells called from parallel,'
echo 'killed with different signals'
- echo
+ # run:
+ # * exit $val
+ # * kill -$1 $$'
+ # both:
+ # * under different shells
+ # * from parallel running under different shells
+ # record:
+ # * exit value
+ # * signal
echo sig=joblog_sig shell=parallel=joblog
+ # The quoting of \n is wrong for csh, so just use a sane TMPDIR here
+ TMPDIR=/tmp/par-300s
+ export TMPDIR
+ mkdir -p "$TMPDIR"
selfkill=$(mktemp)
- export selfkill
- echo 'kill -$1 $$' >$selfkill
+ qselfkill=$(parallel -0 --shellquote ::: "$selfkill")
+ qqselfkill=$(parallel -0 --shellquote --shellquote ::: "$selfkill")
+ export selfkill qselfkill qqselfkill
+ echo 'kill -$1 $$' >"$selfkill"
exit=$(mktemp)
- export exit
- echo 'exit $1' >$exit
+ qexit=$(parallel -0 --shellquote ::: "$exit")
+ qqexit=$(parallel -0 --shellquote --shellquote ::: "$exit")
+ export exit qexit qqexit
+ echo 'exit $1' >"$exit"
doit() {
shell=$1
sig=$2
sig128=$(( sig + 128 ))
- sh -c "$shell $selfkill $sig" 2>/dev/null
+ sh -c "$shell $qselfkill $sig" 2>/dev/null
raw=$?
- sh -c "$shell $exit $sig128" 2>/dev/null
+ sh -c "$shell $qexit $sig128" 2>/dev/null
raw128=$?
log=$(mktemp)
- $shell -c "parallel --halt now,done=1 --jl $log $shell $selfkill ::: $sig" 2>/dev/null
+ qlog=$(parallel -0 --shellquote ::: "$log")
+ qqlog=$(parallel -0 --shellquote --shellquote ::: "$log")
+ $shell -c "parallel --halt now,done=1 --jl $qlog $shell $qqselfkill ::: $sig" 2>/dev/null
#echo parallel $shell $sig = $?
parallel=$?
- joblog_exit=$(field 7 < $log | tail -n1)
- joblog_signal=$(field 8 < $log | tail -n1)
- $shell -c "parallel --halt now,done=1 --jl $log $shell $exit ::: $sig128" 2>/dev/null
+ joblog_exit=$(field 7 < "$log" | tail -n1)
+ joblog_signal=$(field 8 < "$log" | tail -n1)
+ $shell -c "parallel --halt now,done=1 --jl $qlog $shell $qqexit ::: $sig128" 2>/dev/null
parallel128=$?
- joblog_exit128=$(field 7 < $log | tail -n1)
- joblog_signal128=$(field 8 < $log | tail -n1)
-
- #echo joblog p $shell $sig $(field 8,7 < $log | tail -n1)
- rm $log
+ joblog_exit128=$(field 7 < "$log" | tail -n1)
+ joblog_signal128=$(field 8 < "$log" | tail -n1)
+
+ rm "$log"
echo $shell sig' ' $sig=$joblog_signal $raw=$parallel=$joblog_exit
echo $shell exit $sig128=$joblog_signal128 $raw128=$parallel128=$joblog_exit128
@@ -60,17 +77,17 @@
OK="ash csh dash fish fizsh posh rc sash sh tcsh"
# These do not give the same exit code prepended with 'true;' or not
BAD="bash ksh93 mksh static-sh yash zsh"
-
(
# Most block on signals: 19+20+21+22
ulimit -n `ulimit -Hn`
parallel -j1000% -k doit ::: $OK $BAD ::: {1..18} {23..64}
# fdsh blocks on a lot more signals
parallel -j1000% -k doit ::: fdsh ::: 2 {9..12} {14..18} {20..23} 26 27 29 30 {32..64}
- ) |
- # Ignore where the exit codes are the same
+ ) |
+ # Ignore lines where the exit codes are the same
perl -ne '/(\d+)=\1=\1/ or print'
- rm $selfkill
+ rm "$selfkill" "$exit"
+ rmdir "$TMPDIR"
}
par_retries_unreachable() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-mem.sh
^
|
@@ -9,6 +9,8 @@
mkdir -p $TMPDIR
# Jobs that eat more than 2 GB RAM
+echo "dir $testsuitedir"
+[ -e "$testsuitedir" ] && cd "$testsuitedir"
gendata() {
# Generate a lot of text data fast
yes "`seq 3000`" | head -c $1
@@ -18,6 +20,7 @@
perl5.14parallel() {
# Run GNU Parallel under perl 5.14 which does not support 64-bit very well
# Remove setpgrp_func because 5.14 may use another func
+ pwd
rm -f ~/.parallel/tmp/sshlogin/*/setpgrp_func
PATH=input-files/perl-v5.14.2:$PATH
PERL5LIB=input-files/perl-v5.14.2/lib input-files/perl-v5.14.2/perl `which parallel` "$@"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-manual.sh
^
|
@@ -10,14 +10,25 @@
echo '### --ll with Asian wide chars mess up display'
echo 'bug #63878: Wide East Asian chars in --latest-line'
p="parallel --ll --color --tag"
- COLUMNS=80 $p echo tag fits, line fits a{}b{}c \
- ::: ヌー平行
- COLUMNS=80 $p echo tag fits, line too long a{}b{}c \
- ::: ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー
- COLUMNS=80 $p echo tag too long a{}b{}c \
+ echo Oops: the first adds '>' too early
+ COLUMNS=50 $p echo tag fits, line fits a{}b{}c \
+ ::: ヌー平
+ COLUMNS=50 $p echo tag fits, line too long a{}b{}c \
+ ::: ヌー平行ヌー平行ヌー平行ヌー平行ヌ
+ COLUMNS=50 $p echo tag too long a{}b{}c \
::: ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行ヌー平行a
}
+par_mbswidth() {
+ echo '### characters with screen width > 1'
+ perl -e '@a=qw(ヌ ー 平 行.);
+ print map {
+ (join"",map{ $a[$_% $#a] } (1..$_))."\n".
+ "a".(join"",map{ $a[$_% $#a] } (1..$_))."\n"
+ } (1..40)' |
+ COLUMNS=50 parallel -k --ll --color --tag echo
+}
+
par_ll_tag() {
parallel --tag --ll -q printf "a\n{}\n" ::: should-be-tagged-A
parallel --tag --ll -q printf "a\n\r{}\n" ::: should-be-tagged-B
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-tutorial.sh
^
|
@@ -83,6 +83,9 @@
s/(std(out|err)|seq): Permission denied/$1: No such file or directory/;
# Race condition
s/^4-(middle|end)\n//;
+ # Race condition
+ s/^parallel: This job failed:\n//;
+ s/^echo .; exit .\n//;
# Base 64 string with quotes
s:['"'"'"\\+/a-z.0-9=]{50,}(\s['"'"'"\\+/a-z.0-9=]*)*:BASE64:ig;
# Timings are often off
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-0.3s
^
|
@@ -339,6 +339,12 @@
par_ll_long_followed_by_short
par_ll_long_followed_by_short [KA very long line
par_ll_long_followed_by_short [A
par_ll_long_followed_by_short [KA very long line
par_ll_long_followed_by_short [A
par_ll_long_followed_by_short [KOK
+par_ll_no_newline bug #64030: parallel --ll echo -n ::: foo
+par_ll_no_newline
par_ll_no_newline [Klines
+par_ll_no_newline
par_ll_no_newline [Ktwo
+par_ll_no_newline
par_ll_no_newline [Klines
+par_ll_no_newline
par_ll_no_newline [Ktwo
+par_ll_no_newline last linelast line
par_locale_quoting ### quoting in different locales
par_locale_quoting £`/tmp/test£`
par_locale_quoting $LC_ALL £`/tmp/test£`
@@ -976,10 +982,10 @@
par_sem_quote echo
par_sem_quote
par_shellcompletion ### --shellcompletion
-par_shellcompletion 0097e98f494e6288b33f3201dda7ee11 -
-par_shellcompletion 0097e98f494e6288b33f3201dda7ee11 -
-par_shellcompletion 1655cb29ff14d0008866108c6b5262f7 -
-par_shellcompletion 1655cb29ff14d0008866108c6b5262f7 -
+par_shellcompletion 70960cbdbc411e041161ae228f029d70 -
+par_shellcompletion 70960cbdbc411e041161ae228f029d70 -
+par_shellcompletion aa125ab894780611a20bad4a52d7a58d -
+par_shellcompletion aa125ab894780611a20bad4a52d7a58d -
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
par_slow_pipe_regexp 0 1 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-100s
^
|
@@ -3,99 +3,115 @@
par_linebuffer_files zstd normal
par_linebuffer_files zstd 100000
par_linebuffer_files zstd --files
-par_linebuffer_files zstd 1
+par_linebuffer_files zstd 4
par_linebuffer_files zstd --results
par_linebuffer_files zstd 1
+par_linebuffer_files zstd parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files pzstd normal
par_linebuffer_files pzstd 100000
par_linebuffer_files pzstd --files
-par_linebuffer_files pzstd 1
+par_linebuffer_files pzstd 4
par_linebuffer_files pzstd --results
par_linebuffer_files pzstd 1
+par_linebuffer_files pzstd parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files clzip normal
par_linebuffer_files clzip 100000
par_linebuffer_files clzip --files
-par_linebuffer_files clzip 1
+par_linebuffer_files clzip 4
par_linebuffer_files clzip --results
par_linebuffer_files clzip 1
+par_linebuffer_files clzip parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lz4 normal
par_linebuffer_files lz4 100000
par_linebuffer_files lz4 --files
-par_linebuffer_files lz4 1
+par_linebuffer_files lz4 4
par_linebuffer_files lz4 --results
par_linebuffer_files lz4 1
+par_linebuffer_files lz4 parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lzop normal
par_linebuffer_files lzop 100000
par_linebuffer_files lzop --files
-par_linebuffer_files lzop 1
+par_linebuffer_files lzop 4
par_linebuffer_files lzop --results
par_linebuffer_files lzop 1
+par_linebuffer_files lzop parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files pigz normal
par_linebuffer_files pigz 100000
par_linebuffer_files pigz --files
-par_linebuffer_files pigz 1
+par_linebuffer_files pigz 4
par_linebuffer_files pigz --results
par_linebuffer_files pigz 1
+par_linebuffer_files pigz parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files pxz normal
par_linebuffer_files pxz 100000
par_linebuffer_files pxz --files
-par_linebuffer_files pxz 1
+par_linebuffer_files pxz 4
par_linebuffer_files pxz --results
par_linebuffer_files pxz 1
+par_linebuffer_files pxz parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files gzip normal
par_linebuffer_files gzip 100000
par_linebuffer_files gzip --files
-par_linebuffer_files gzip 1
+par_linebuffer_files gzip 4
par_linebuffer_files gzip --results
par_linebuffer_files gzip 1
+par_linebuffer_files gzip parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files plzip normal
par_linebuffer_files plzip 100000
par_linebuffer_files plzip --files
-par_linebuffer_files plzip 1
+par_linebuffer_files plzip 4
par_linebuffer_files plzip --results
par_linebuffer_files plzip 1
+par_linebuffer_files plzip parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files pbzip2 normal
par_linebuffer_files pbzip2 100000
par_linebuffer_files pbzip2 --files
-par_linebuffer_files pbzip2 1
+par_linebuffer_files pbzip2 4
par_linebuffer_files pbzip2 --results
par_linebuffer_files pbzip2 1
+par_linebuffer_files pbzip2 parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lzma normal
par_linebuffer_files lzma 100000
par_linebuffer_files lzma --files
-par_linebuffer_files lzma 1
+par_linebuffer_files lzma 4
par_linebuffer_files lzma --results
par_linebuffer_files lzma 1
+par_linebuffer_files lzma parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files xz normal
par_linebuffer_files xz 100000
par_linebuffer_files xz --files
-par_linebuffer_files xz 1
+par_linebuffer_files xz 4
par_linebuffer_files xz --results
par_linebuffer_files xz 1
+par_linebuffer_files xz parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lzip normal
par_linebuffer_files lzip 100000
par_linebuffer_files lzip --files
-par_linebuffer_files lzip 1
+par_linebuffer_files lzip 4
par_linebuffer_files lzip --results
par_linebuffer_files lzip 1
+par_linebuffer_files lzip parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files bzip2 normal
par_linebuffer_files bzip2 100000
par_linebuffer_files bzip2 --files
-par_linebuffer_files bzip2 1
+par_linebuffer_files bzip2 4
par_linebuffer_files bzip2 --results
par_linebuffer_files bzip2 1
+par_linebuffer_files bzip2 parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lbzip2 normal
par_linebuffer_files lbzip2 100000
par_linebuffer_files lbzip2 --files
-par_linebuffer_files lbzip2 1
+par_linebuffer_files lbzip2 4
par_linebuffer_files lbzip2 --results
par_linebuffer_files lbzip2 1
+par_linebuffer_files lbzip2 parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_files lrz normal
par_linebuffer_files lrz 100000
par_linebuffer_files lrz --files
-par_linebuffer_files lrz 1
+par_linebuffer_files lrz 4
par_linebuffer_files lrz --results
par_linebuffer_files lrz 1
+par_linebuffer_files lrz parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_linebuffer_matters_compress ### (--linebuffer) --compress should give different output
par_linebuffer_matters_compress OK: --linebuffer makes a difference
par_linebuffer_matters_compress_tag ### (--linebuffer) --compress --tag should give different output
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-10s
^
|
@@ -314,43 +314,6 @@
par_fifo_under_csh 868832
par_fifo_under_csh 1
par_fifo_under_csh exit 22
-par_jobs_file ### Test of -j filename - non-existent file
-par_jobs_file parallel: Error: Parsing of --jobs/-j/--max-procs/-P failed.
-par_jobs_file Usage:
-par_jobs_file
-par_jobs_file parallel [options] [command [arguments]] < list_of_arguments
-par_jobs_file parallel [options] [command [arguments]] (::: arguments|:::: argfile(s))...
-par_jobs_file cat ... | parallel --pipe [options] [command [arguments]]
-par_jobs_file
-par_jobs_file -j n Run n jobs in parallel
-par_jobs_file -k Keep same order
-par_jobs_file -X Multiple arguments with context replace
-par_jobs_file --colsep regexp Split input on regexp for positional replacements
-par_jobs_file {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
-par_jobs_file {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
-par_jobs_file With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =
-par_jobs_file {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
-par_jobs_file
-par_jobs_file -S sshlogin Example: foo@server.example.com
-par_jobs_file --slf .. Use ~/.parallel/sshloginfile as the list of sshlogins
-par_jobs_file --trc {}.bar Shorthand for --transfer --return {}.bar --cleanup
-par_jobs_file --onall Run the given command with argument on all sshlogins
-par_jobs_file --nonall Run the given command with no arguments on all sshlogins
-par_jobs_file
-par_jobs_file --pipe Split stdin (standard input) to multiple jobs.
-par_jobs_file --recend str Record end separator for --pipe.
-par_jobs_file --recstart str Record start separator for --pipe.
-par_jobs_file
-par_jobs_file GNU Parallel can do much more. See 'man parallel' for details
-par_jobs_file
-par_jobs_file Academic tradition requires you to cite works you base your article on.
-par_jobs_file If you use programs that use GNU Parallel to process data for an article in a
-par_jobs_file scientific publication, please cite:
-par_jobs_file
-par_jobs_file
-par_jobs_file This helps funding further development; AND IT WON'T COST YOU A CENT.
-par_jobs_file If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
-par_jobs_file
par_jobs_file ### Test of -j filename
par_jobs_file sleep 6
par_jobs_file sleep 8
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-300s
^
|
@@ -1,7 +1,6 @@
par_compare_exit_codes ### compare the exit codes
par_compare_exit_codes directly from shells, shells called from parallel,
par_compare_exit_codes killed with different signals
-par_compare_exit_codes
par_compare_exit_codes sig=joblog_sig shell=parallel=joblog
par_compare_exit_codes
par_compare_exit_codes
par_compare_exit_codes csh sig 2=0 130=1=1
@@ -318,7 +317,7 @@
par_test_build_and_install make[0]: Entering directory '~/privat/parallel/src'
par_test_build_and_install make[0]: Leaving directory '~/privat/parallel/src'
par_test_build_and_install make[0]: Leaving directory '~/privat/parallel/src'
-par_test_build_and_install test -n "" \
+par_test_build_and_install test -n " \
par_test_build_and_install || find "parallel-00000000" -type d ! -perm -755 \
par_test_build_and_install -exec chmod u+rwx,go+rx {} \; -o \
par_test_build_and_install ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230422+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-tutorial
^
|
@@ -149,8 +149,6 @@
num30000
num8
outdir
-tmsFPAdA
-tmsNGdem
tsv-file.tsv
foo
/TMP
@@ -389,16 +387,6 @@
/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 1: `set a="outdir"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="tempfile"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="tempfile"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="tempfile"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="tmsFPAdA"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="tmsNGdem"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 1: `set a="tsv-file.tsv"; if( { test -d "$a" } ) echo "$a is a dir"'
parallel --tag echo foo-{} ::: A B C
A foo-A
@@ -606,29 +594,15 @@
2 : TIMESTAMP 9.999 0 0 2 0 exit 2
3 : TIMESTAMP 9.999 0 0 3 0 exit 3
9
-parallel: This job failed:
-echo X; exit X
parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-parallel: This job failed:
-echo X; exit X
parallel -j2 --halt now,fail=1 echo {}\; exit {} ::: 0 0 1 2 3
9
-parallel: This job failed:
-echo X; exit X
parallel -j2 --halt soon,fail=20% echo {}\; exit {} \
::: 0 1 2 3 4 5 6 7 8 9
9
-parallel: This job failed:
-echo X; exit X
-parallel: This job failed:
-echo X; exit X
-parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-parallel: This job failed:
-echo X; exit X
parallel -j2 --halt now,success=1 echo {}\; exit {} ::: 1 2 3 0 4 5 6
9
parallel: This job succeeded:
-echo X; exit X
parallel -k --retries 3 \
'echo tried {} >>/tmp/runs; echo completed {}; exit {}' ::: 1 2 0
cat /tmp/runs
@@ -744,30 +718,30 @@
Unknown option: green
env_parallel only works if it is a function.
Do this and restart your shell:
-bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
- E.g. by doing: echo '. `which env_parallel.bash`' >> $HOME/.bashrc
+bash: Put this in $HOME/.bashrc: . env_parallel.bash
+ E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
Supports: variables, aliases, functions, arrays
fish: Put this in $HOME/.config/fish/config.fish: . (which env_parallel.fish)
E.g. by doing:
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
Supports: variables, aliases, functions, arrays
-ksh: Put this in $HOME/.kshrc: source `which env_parallel.ksh`
- E.g. by doing: echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
+ksh: Put this in $HOME/.kshrc: source env_parallel.ksh
+ E.g. by doing: echo 'source env_parallel.ksh' >> $HOME/.kshrc
Supports: variables, aliases, functions, arrays
-mksh: Put this in $HOME/.mkshrc: source `which env_parallel.mksh`
- E.g. by doing: echo 'source `which env_parallel.mksh`' >> $HOME/.mkshrc
+mksh: Put this in $HOME/.mkshrc: source env_parallel.mksh
+ E.g. by doing: echo 'source env_parallel.mksh' >> $HOME/.mkshrc
Supports: variables, aliases, functions, arrays
-pdksh: Put this in $HOME/.profile: source `which env_parallel.pdksh`
- E.g. by doing: echo '. `which env_parallel.pdksh`' >> $HOME/.profile
+pdksh: Put this in $HOME/.profile: source env_parallel.pdksh
+ E.g. by doing: echo '. env_parallel.pdksh' >> $HOME/.profile
Supports: variables, aliases, functions, arrays
-zsh: Put this in $HOME/.zshrc: . `which env_parallel.zsh`
- E.g. by doing: echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
+zsh: Put this in $HOME/.zshrc: . env_parallel.zsh
+ E.g. by doing: echo '. env_parallel.zsh' >> $HOME/.zshenv
Supports: variables, functions, arrays
-ash: Put this in $HOME/.profile: . `which env_parallel.ash`
- E.g. by doing: echo '. `which env_parallel.ash`' >> $HOME/.profile
+ash: Put this in $HOME/.profile: . env_parallel.ash
+ E.g. by doing: echo '. env_parallel.ash' >> $HOME/.profile
Supports: variables, aliases
-dash: Put this in $HOME/.profile: . `which env_parallel.dash`
- E.g. by doing: echo '. `which env_parallel.dash`' >> $HOME/.profile
+dash: Put this in $HOME/.profile: . env_parallel.dash
+ E.g. by doing: echo '. env_parallel.dash' >> $HOME/.profile
Supports: variables, aliases
csh: Put this in $HOME/.cshrc: source `which env_parallel.csh`
E.g. by doing: echo 'source `which env_parallel.csh`' >> $HOME/.cshrc
@@ -778,13 +752,13 @@
To install in all shells run:
env_parallel --install
In a script you need to run this before using env_parallel:
-bash: . `which env_parallel.bash`
-ksh: source `which env_parallel.ksh`
-mksh: source `which env_parallel.mksh`
-pdksh: source `which env_parallel.pdksh`
-zsh: . `which env_parallel.zsh`
-ash: . `which env_parallel.ash`
-dash: . `which env_parallel.dash`
+bash: . env_parallel.bash
+ksh: source env_parallel.ksh
+mksh: source env_parallel.mksh
+pdksh: source env_parallel.pdksh
+zsh: . env_parallel.zsh
+ash: . env_parallel.ash
+dash: . env_parallel.dash
For details: see man env_parallel
MYVAR='foo bar'
export MYVAR
@@ -832,30 +806,30 @@
Unknown option: bar
env_parallel only works if it is a function.
Do this and restart your shell:
-bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
- E.g. by doing: echo '. `which env_parallel.bash`' >> $HOME/.bashrc
+bash: Put this in $HOME/.bashrc: . env_parallel.bash
+ E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
Supports: variables, aliases, functions, arrays
fish: Put this in $HOME/.config/fish/config.fish: . (which env_parallel.fish)
E.g. by doing:
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
Supports: variables, aliases, functions, arrays
-ksh: Put this in $HOME/.kshrc: source `which env_parallel.ksh`
- E.g. by doing: echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
+ksh: Put this in $HOME/.kshrc: source env_parallel.ksh
+ E.g. by doing: echo 'source env_parallel.ksh' >> $HOME/.kshrc
Supports: variables, aliases, functions, arrays
-mksh: Put this in $HOME/.mkshrc: source `which env_parallel.mksh`
- E.g. by doing: echo 'source `which env_parallel.mksh`' >> $HOME/.mkshrc
+mksh: Put this in $HOME/.mkshrc: source env_parallel.mksh
+ E.g. by doing: echo 'source env_parallel.mksh' >> $HOME/.mkshrc
Supports: variables, aliases, functions, arrays
-pdksh: Put this in $HOME/.profile: source `which env_parallel.pdksh`
- E.g. by doing: echo '. `which env_parallel.pdksh`' >> $HOME/.profile
+pdksh: Put this in $HOME/.profile: source env_parallel.pdksh
+ E.g. by doing: echo '. env_parallel.pdksh' >> $HOME/.profile
Supports: variables, aliases, functions, arrays
-zsh: Put this in $HOME/.zshrc: . `which env_parallel.zsh`
- E.g. by doing: echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
+zsh: Put this in $HOME/.zshrc: . env_parallel.zsh
+ E.g. by doing: echo '. env_parallel.zsh' >> $HOME/.zshenv
Supports: variables, functions, arrays
-ash: Put this in $HOME/.profile: . `which env_parallel.ash`
- E.g. by doing: echo '. `which env_parallel.ash`' >> $HOME/.profile
+ash: Put this in $HOME/.profile: . env_parallel.ash
+ E.g. by doing: echo '. env_parallel.ash' >> $HOME/.profile
Supports: variables, aliases
-dash: Put this in $HOME/.profile: . `which env_parallel.dash`
- E.g. by doing: echo '. `which env_parallel.dash`' >> $HOME/.profile
+dash: Put this in $HOME/.profile: . env_parallel.dash
+ E.g. by doing: echo '. env_parallel.dash' >> $HOME/.profile
Supports: variables, aliases
csh: Put this in $HOME/.cshrc: source `which env_parallel.csh`
E.g. by doing: echo 'source `which env_parallel.csh`' >> $HOME/.cshrc
@@ -866,13 +840,13 @@
To install in all shells run:
env_parallel --install
In a script you need to run this before using env_parallel:
-bash: . `which env_parallel.bash`
-ksh: source `which env_parallel.ksh`
-mksh: source `which env_parallel.mksh`
-pdksh: source `which env_parallel.pdksh`
-zsh: . `which env_parallel.zsh`
-ash: . `which env_parallel.ash`
-dash: . `which env_parallel.dash`
+bash: . env_parallel.bash
+ksh: source env_parallel.ksh
+mksh: source env_parallel.mksh
+pdksh: source env_parallel.pdksh
+zsh: . env_parallel.zsh
+ash: . env_parallel.ash
+dash: . env_parallel.dash
For details: see man env_parallel
parallel -vv --pipepart --block 1M wc :::: num30000
<num30000 perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>32767?32767:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 0 168894 |(wc)
|