parallel: Fixed bug #63586: --ll does not clear till end of line.

This commit is contained in:
Ole Tange 2022-12-21 00:57:10 +01:00
parent 1022008c35
commit acb915b074
47 changed files with 353 additions and 258 deletions

View file

@ -262,25 +262,25 @@ 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 20221222 ('ChatGPT') released Subject: GNU Parallel 20230122 ('Pele/MashaAmina<<>>') released
GNU Parallel 20221222 ('ChatGPT') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20230122 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month: Quote of the month:
GNU Parallel absolutely rocks. <<>>
-- Austin Mordahl@Stackoverflow
New in this release: New in this release:
* --results works on more file systems (e.g. fat) <<>>
* Joblog gives the same exit code as bash.
News about GNU Parallel: News about GNU Parallel:
* Programação Shell Linux: Paralelismo de processos com GNU parallel https://www.youtube.com/watch?v=duheTWLIrp8 https://www.purevpn.com/blog/the-best-hacking-tools-of-2023/#11_GNU_Parallel
* Talk Python: Data Science from the Command Line https://talkpython.fm/episodes/show/392/data-science-from-the-command-line
this is wrong-https://climbtheladder.com/10-gnu-parallel-best-practices/
<<>>
GNU Parallel - For people who live life in the parallel lane. GNU Parallel - For people who live life in the parallel lane.

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2002-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2002-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
=head1 NAME =head1 NAME

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
grepq() { grepq() {

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 shell=dash # shellcheck disable=SC2006 shell=dash
@ -393,8 +393,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -395,8 +395,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
set _parallel_exit_CODE=0 set _parallel_exit_CODE=0

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -393,8 +393,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# If you are a fisherman feel free to improve the code # If you are a fisherman feel free to improve the code

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -376,8 +376,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -378,8 +378,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
env_parallel() { env_parallel() {

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -807,7 +807,7 @@ Copyright (C) 2007-10-18 Ole Tange, http://ole.tange.dk
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -393,8 +393,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
set _parallel_exit_CODE=0 set _parallel_exit_CODE=0

View file

@ -7,7 +7,7 @@
# after which 'env_parallel' works # after which 'env_parallel' works
# #
# #
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC2006 # shellcheck disable=SC2006
@ -368,8 +368,8 @@ _parset_main() {
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006 # shellcheck disable=SC2006
echo "parset 20221222 (GNU parallel `parallel --minversion 1`)" echo "parset 20221223 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2023 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>"
echo "This is free software: you are free to change and redistribute it." echo "This is free software: you are free to change and redistribute it."

View file

@ -2,7 +2,7 @@
# Copyright (C) 2004-2010 Ole Tange, http://ole.tange.dk # Copyright (C) 2004-2010 Ole Tange, http://ole.tange.dk
# #
# Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and # Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -20,13 +20,13 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20221222; $Global::version = 20221223;
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) {

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -309,7 +309,7 @@ Copyright (C) 2004-11-19 Ole Tange, http://ole.tange.dk
Copyright (C) 2005-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2005-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
=head1 LICENSE =head1 LICENSE

View file

@ -1,6 +1,6 @@
#!/usr/bin/env perl #!/usr/bin/env perl
# Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# open3 used in Job::start # open3 used in Job::start
@ -2702,7 +2702,7 @@ sub check_invalid_option_combinations() {
sub init_globals() { sub init_globals() {
# Defaults: # Defaults:
$Global::version = 20221222; $Global::version = 20221223;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$::name = "GNU Parallel"; $::name = "GNU Parallel";
$Global::infinity = 2**31; $Global::infinity = 2**31;
@ -5756,7 +5756,7 @@ sub version() {
print join print join
("\n", ("\n",
"GNU $Global::progname $Global::version", "GNU $Global::progname $Global::version",
"Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software", "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software",
"Foundation, Inc.", "Foundation, Inc.",
"License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>", "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>",
"This is free software: you are free to change and redistribute it.", "This is free software: you are free to change and redistribute it.",
@ -5894,7 +5894,7 @@ sub embed() {
} }
print "#!$Global::shell print "#!$Global::shell
# Copyright (C) 2007-2022 $user, Ole Tange, http://ole.tange.dk # Copyright (C) 2007-2023 $user, Ole Tange, http://ole.tange.dk
# and Free Software Foundation, Inc. # and Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -11316,7 +11316,7 @@ sub print_files($) {
# --tag # --tag
# --bar # --bar
{ {
my ($up,$currow,$maxrow); my ($up,$eol,$currow,$maxrow);
my ($minvisible,%print_later,%notvisible); my ($minvisible,%print_later,%notvisible);
my (%binmodeset,%tab); my (%binmodeset,%tab);
@ -11324,6 +11324,9 @@ sub print_files($) {
# cursor_up cuu1 = up one line # cursor_up cuu1 = up one line
$up = `sh -c "tput cuu1 </dev/tty" 2>/dev/null`; $up = `sh -c "tput cuu1 </dev/tty" 2>/dev/null`;
chomp($up); chomp($up);
$eol = `sh -c "tput el </dev/tty" 2>/dev/null`;
chomp($eol);
if($eol eq "") { $eol = "\033[K"; }
$currow = 1; $currow = 1;
$maxrow = 1; $maxrow = 1;
$minvisible = 1; $minvisible = 1;
@ -11353,15 +11356,15 @@ sub print_files($) {
my $untabify_tag = ::decode_utf8($self->untabtag()); my $untabify_tag = ::decode_utf8($self->untabtag());
my $taglen = length $untabify_tag; my $taglen = length $untabify_tag;
my $truncated_tag = ""; my $truncated_tag = "";
my $strlen = $termcol - $taglen;
my $untabify_str = ::decode_utf8($self->{$out_fh,'latestline'}); my $untabify_str = ::decode_utf8($self->{$out_fh,'latestline'});
$untabify_str =~ s/\t/$tab{$-[0]%8}/g; $untabify_str =~ s/\t/$tab{$-[0]%8}/g;
# -1 to make space for $truncated
my $strlen = $termcol - $taglen - 1;
my $strspc = $strlen - length $untabify_str; my $strspc = $strlen - length $untabify_str;
$strlen--;
if($strlen < 0) { $strlen = 0;} if($strlen < 0) { $strlen = 0;}
# Line is shorter than terminal width: add " " # Line is shorter than terminal width: add " "
# Line is longer than terminal width: add ">" # Line is longer than terminal width: add ">"
my $truncated = ($strspc > 0) ? " " : ">"; my $truncated = ($strspc >= 0) ? " " : ">";
if($taglen > $termcol) { if($taglen > $termcol) {
# Tag is longer than terminal width: add ">" to tag # Tag is longer than terminal width: add ">" to tag
# Remove $truncated (it will not be shown at all) # Remove $truncated (it will not be shown at all)
@ -11369,17 +11372,15 @@ sub print_files($) {
$truncated_tag = ">"; $truncated_tag = ">";
$truncated = ""; $truncated = "";
} }
$maxrow = ($row > $maxrow) ? $row : $maxrow;
$maxrow = $row > $maxrow ? $row : $maxrow;
printf($out_fh printf($out_fh
("%s%s%s". # up down \r ("%s%s%s%s". # up down \r eol
"%.${taglen}s%s". # tag "%.${taglen}s%s". # tag trunc_tag
"%s%.${strlen}s%s%s". # color + line "%s%.${strlen}s%s%s". # color line trunc reset_color
"%s" # down "%s" # down
), ),
"$up"x($currow - $row), "$up"x($currow - $row), "\n"x($row - $currow), "\r", $eol,
"\n"x($row - $currow), $untabify_tag,$truncated_tag,
"\r", $untabify_tag,$truncated_tag,
$color, $untabify_str, $truncated, $reset_color, $color, $untabify_str, $truncated, $reset_color,
"\n"x($maxrow - $row + 1)); "\n"x($maxrow - $row + 1));
$currow = $maxrow + 1; $currow = $maxrow + 1;
@ -11837,14 +11838,16 @@ sub untabtag($) {
160..178,180,182..184,196..214,232..250)); 160..178,180,182..184,196..214,232..250));
# reorder list so adjacent colors are dissimilar # reorder list so adjacent colors are dissimilar
# %23 and %7 were found experimentally # %23 and %7 were found experimentally
@color_combinations = @color_combinations[ my @order = reverse sort {
sort { ($a%23 <=> $b%23) or ($b%7 <=> $a%7) } (($a%23) <=> ($b%23))
0..$#color_combinations or
]; (($b%7) <=> ($a%7));
} 0..$#color_combinations;
@order = @order[54 .. $#color_combinations, 0 .. 53];
@color = map { @color = map {
# TODO Can this be done with `tput` codes? # TODO Can this be done with `tput` codes?
"\033[48;5;".$_->[0].";38;5;".$_->[1]."m" "\033[48;5;".$_->[0].";38;5;".$_->[1]."m"
} @color_combinations; } @color_combinations[ @order ];
# clr_eol el = clear to end of line # clr_eol el = clear to end of line
$eol = `sh -c "tput el </dev/tty" 2>/dev/null`; $eol = `sh -c "tput el </dev/tty" 2>/dev/null`;

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -549,7 +549,7 @@ string that is not in the command line.
See also: B<:::> See also: B<:::>
=item B<--bar> (beta testing) =item B<--bar>
Show progress as a progress bar. Show progress as a progress bar.
@ -839,7 +839,7 @@ to stdout (standard output) unless B<--decompress-program> is given.
See also: B<--compress> See also: B<--compress>
=item B<--csv> (beta testing) =item B<--csv>
Treat input as CSV-format. Treat input as CSV-format.
@ -1055,7 +1055,7 @@ Outputs: 1,1 1,2 1,3 2,2 2,3 3,3
See also: B<skip()> B<--no-run-if-empty> See also: B<skip()> B<--no-run-if-empty>
=item B<--filter-hosts> (beta testing) =item B<--filter-hosts>
Remove down hosts. Remove down hosts.
@ -1586,9 +1586,9 @@ Similar to B<--memfree>.
See also: B<--memfree> B<--load> See also: B<--memfree> B<--load>
=item B<--latest-line> (beta testing) =item B<--latest-line> (alpha testing)
=item B<--ll> (beta testing) =item B<--ll> (alpha testing)
Print the lastest line. Each job gets a single line that is updated Print the lastest line. Each job gets a single line that is updated
with the lastest output from the job. with the lastest output from the job.
@ -2026,7 +2026,7 @@ B<--progress> on a running GNU B<parallel> process.
See also: B<--eta> B<--bar> See also: B<--eta> B<--bar>
=item B<--max-line-length-allowed> (beta testing) =item B<--max-line-length-allowed>
Print maximal command line length. Print maximal command line length.
@ -3033,13 +3033,13 @@ I<duration> is in seconds, but can be postfixed with s, m, h, or d.
See also: TIME POSTFIXES B<--sshlogin> B<--delay> See also: TIME POSTFIXES B<--sshlogin> B<--delay>
=item B<--sshlogin> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]> (beta testing) =item B<--sshlogin> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]>
=item B<--sshlogin> I<@hostgroup> (beta testing) =item B<--sshlogin> I<@hostgroup>
=item B<-S> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]> (beta testing) =item B<-S> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]>
=item B<-S> I<@hostgroup> (beta testing) =item B<-S> I<@hostgroup>
Distribute jobs to remote computers. Distribute jobs to remote computers.
@ -3297,9 +3297,9 @@ dies before the waiting time is up.
See also: B<--halt> B<--timeout> B<--memfree> See also: B<--halt> B<--timeout> B<--memfree>
=item B<--total-jobs> I<jobs> (beta testing) =item B<--total-jobs> I<jobs>
=item B<--total> I<jobs> (beta testing) =item B<--total> I<jobs>
Provide the total number of jobs for computing ETA which is also used Provide the total number of jobs for computing ETA which is also used
for B<--bar>. for B<--bar>.
@ -4391,7 +4391,7 @@ Copyright (C) 2007-10-18 Ole Tange, http://ole.tange.dk
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by Parts of the manual concerning B<xargs> compatibility is inspired by

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -3511,6 +3511,87 @@ https://github.com/TheWizardTower/seneschal
(Last checked: 2022-06) (Last checked: 2022-06)
=head2 DIFFERENCES BETWEEN async AND GNU Parallel
Summary (see legend above):
=over
=item x x x x x x x
=item - x x x x x
=item x O2 O3 O4 O5 O6 - x x O10
=item E1 - - E4 - - -
=item - - - - - - - - -
=item S1 S2
=back
B<async> works like B<sem>.
=head3 EXAMPLES FROM async
1$ S="/tmp/example_socket"
async -s="$S" server --start
for i in {1..20}; do
# prints command output to stdout
async -s="$S" cmd -- bash -c "sleep 1 && echo test $i"
done
# wait until all commands are finished
async -s="$S" wait
1$ S="example_id"
# server not needed
for i in {1..20}; do
# prints command output to stdout
sem --bg --id "$S" -j100% "sleep 1 && echo test $i"
done
# wait until all commands are finished
sem --fg --id "$S" --wait
2$ # configure the server to run four commands in parallel
async -s="$S" server -j4
mkdir "/tmp/ex_dir"
for i in {21..40}; do
# redirects command output to /tmp/ex_dir/file*
async -s="$S" cmd -o "/tmp/ex_dir/file$i" -- \
bash -c "sleep 1 && echo test $i"
done
async -s="$S" wait
# stops server
async -s="$S" server --stop
2$ # starting server not needed
mkdir "/tmp/ex_dir"
for i in {21..40}; do
# redirects command output to /tmp/ex_dir/file*
sem --bg --id "$S" --results "/tmp/ex_dir/file$i{}" \
"sleep 1 && echo test $i"
done
sem --fg --id "$S" --wait
# there is no server to stop
https://github.com/ctbur/async
(Last checked: 2023-01)
=head2 Todo =head2 Todo
http://code.google.com/p/push/ (cannot compile) http://code.google.com/p/push/ (cannot compile)
@ -3785,7 +3866,7 @@ Copyright (C) 2007-10-18 Ole Tange, http://ole.tange.dk
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by Parts of the manual concerning B<xargs> compatibility is inspired by

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -1868,7 +1868,7 @@ Copyright (C) 2007-10-18 Ole Tange, http://ole.tange.dk
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by Parts of the manual concerning B<xargs> compatibility is inspired by

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -3003,8 +3003,8 @@ When asking for help, always report the full output of this:
Output: Output:
GNU parallel 20210122 GNU parallel 20230122
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software
Foundation, Inc. Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
@ -3165,7 +3165,7 @@ https://my.fsf.org/donate/
=back =back
(C) 2013-2022 Ole Tange, GFDLv1.3+ (See (C) 2013-2023 Ole Tange, GFDLv1.3+ (See
LICENSES/GFDL-1.3-or-later.txt) LICENSES/GFDL-1.3-or-later.txt)

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl #!/usr/bin/perl
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
use Symbol qw(gensym); use Symbol qw(gensym);

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl #!/usr/bin/perl
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -71,7 +71,7 @@ GNU B<parcat> is part of GNU B<parallel>. Report bugs to
=head1 AUTHOR =head1 AUTHOR
Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
=head1 LICENSE =head1 LICENSE

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (C) 2016-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
grepq() { grepq() {

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -202,7 +202,7 @@ Copyright (C) 2007-10-18 Ole Tange, http://ole.tange.dk
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl #!/usr/bin/perl
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
=pod =pod
@ -45,7 +45,7 @@ On a 48 core machine you should see a speedup of 3x over B<sort>.
=head1 AUTHOR =head1 AUTHOR
Copyright (C) 2020-2022 Ole Tange, Copyright (C) 2020-2023 Ole Tange,
http://ole.tange.dk and Free Software Foundation, Inc. http://ole.tange.dk and Free Software Foundation, Inc.
@ -122,7 +122,7 @@ GetOptions(
"help" => \$opt::dummy, "help" => \$opt::dummy,
) || exit(255); ) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20221222; $Global::version = 20221223;
if($opt::version) { version(); exit 0; } if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ } @Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);
@ -238,7 +238,7 @@ sub version() {
print join print join
("\n", ("\n",
"GNU $Global::progname $Global::version", "GNU $Global::progname $Global::version",
"Copyright (C) 2020-2022 Ole Tange, http://ole.tange.dk and Free Software", "Copyright (C) 2020-2023 Ole Tange, http://ole.tange.dk and Free Software",
"Foundation, Inc.", "Foundation, Inc.",
"License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>", "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>",
"This is free software: you are free to change and redistribute it.", "This is free software: you are free to change and redistribute it.",

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl #!/usr/bin/perl
# Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Convert .pod file containing: # Convert .pod file containing:

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
@ -255,7 +255,7 @@ Report bugs to <bug-parallel@gnu.org>.
=head1 AUTHOR =head1 AUTHOR
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.

View file

@ -2,7 +2,7 @@
# Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk # Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
# #
# Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and # Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -20,7 +20,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2008-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2008-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-License-Identifier: GFDL-1.3-or-later # SPDX-License-Identifier: GFDL-1.3-or-later
@ -388,7 +388,7 @@ Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
Copyright (C) 2008-2010 Ole Tange http://ole.tange.dk Copyright (C) 2008-2010 Ole Tange http://ole.tange.dk
Copyright (C) 2010-2022 Ole Tange, http://ole.tange.dk and Free Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc. Software Foundation, Inc.
=head1 LICENSE =head1 LICENSE
@ -667,7 +667,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20221222; $Global::version = 20230103;
$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

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (C) 2022-2022 Ole Tange, http://ole.tange.dk and Free # Copyright (C) 2022-2023 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc. # Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St, # or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA # Fifth Floor, Boston, MA 02110-1301 USA
# #
# SPDX-FileCopyrightText: 2022-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2022-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
grep -hv '(dead)' ../src/* | grep -hv '(dead)' ../src/* |

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
@ -26,6 +26,10 @@ mem: ../src/parallel tests-to-run/*mem* wanted-results/*mem*
touch ~/.parallel/will-cite touch ~/.parallel/will-cite
make stopvm make stopvm
# The output must be inspected visually
manual: ../src/parallel tests-to-run/*manual* wanted-results/*manual*
bash tests-to-run/parallel-manual.sh
# Tutorial # Tutorial
tutorial: ../src/parallel tests-to-run/*tutorial* wanted-results/*tutorial* prereqlocal tutorial: ../src/parallel tests-to-run/*tutorial* wanted-results/*tutorial* prereqlocal
TRIES=1 time bash Start.sh tutorial NONE || true TRIES=1 time bash Start.sh tutorial NONE || true
@ -52,7 +56,7 @@ local: ../src/parallel tests-to-run/*local* wanted-results/*local* prereqlocal i
# short # short
short: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel short: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel
TRIES=1 time bash Start.sh '' 'polar|mem|100s|300s' TRIES=1 time bash Start.sh '' 'polar|mem|100s|300s|manual'
# long # long
long: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel long: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: 2002-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2002-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -1,6 +1,6 @@
#!/bin/bash -x #!/bin/bash -x
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -16,6 +16,10 @@ export -f stdsort
# Test amount of parallelization # 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} # parallel --shuf --jl /tmp/myjl -j1 'export JOBS={1};'bash tests-to-run/parallel-local-0.3s.sh ::: {1..16} ::: {1..5}
par_ll_long_followed_by_short() {
parallel --ll 'echo A very long line;sleep 0.2;echo' ::: OK | puniq
}
par_PARALLEL_HOME_not_exist() { par_PARALLEL_HOME_not_exist() {
echo '### bug #62311: --pipepart + ::: fail' echo '### bug #62311: --pipepart + ::: fail'
tmp1=$(mktemp) tmp1=$(mktemp)

View file

@ -281,7 +281,7 @@ par_groupby_pipepart() {
# Make 6 columns: 123456 => 1\t2\t3\t4\t5\t6 # Make 6 columns: 123456 => 1\t2\t3\t4\t5\t6
seq 100000 999999 | perl -pe '$_=join"\t",split//' | seq 100000 999999 | perl -pe '$_=join"\t",split//' |
# Sort reverse on column 3 (This should group on col 3) # Sort reverse on column 3 (This should group on col 3)
sort --parallel=8 --buffer-size=50% -k3r sort --parallel=8 -k3r
} }
export -f tsv export -f tsv

View file

@ -1,60 +1,11 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# These fail regularly # These fail regularly
par_ll_tag() {
(
parallel --tag --ll -q printf "a\n{}\n" ::: should-be-tagged
parallel --tag --ll -q printf "a\n\r{}\n" ::: should-be-tagged
parallel --color --tag --ll true ::: A
parallel --color --tag --ll 'echo;true {}' ::: B
parallel --color --tag --ll 'echo {};true {}' ::: C
) | puniq
}
par_ll_lb_color() {
echo 'bug #62386: --color (--ctag but without --tag)'
echo 'bug #62438: See last line from multiple jobslots'
# This is a race condition
# # delay modulo 4 seconds
# perl -MTime::HiRes -E 'Time::HiRes::usleep(1000000*(((time|3)+1)-Time::HiRes::time()));'
# # delay modulo 2 seconds
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|1)));say time;'
# # delay modulo 1 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|0)));say time;'
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time*4|0)/4));say time;'
# # delay modulo 1/4 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(-time+(1+time*3|0)/3));say time;';
# # delay modulo 1/4 second + 100 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.1-time+(1+time*3|0)/3));say time;';
# # delay modulo 1 second + 200 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.2-time+(1+time*1|0)/1));say time;';
# # delay modulo 1 second + delta ms
# perl -E 'use Time::HiRes qw(usleep time); $d=shift; for(1..shift){
# usleep(1000000*($d-time+(1+time*1|0)/1));say;}' 0.2 6;
_offset_seq() {
perl -E 'use Time::HiRes qw(usleep time); $|=1;$d=shift; for(1..shift){
usleep(1000000*($d-time+(1+time*1|0)/1));say;}' $@;
}
offset_seq() {
perl -E 'use Time::HiRes qw(usleep time); $|=1;usleep(shift); for(1..shift){
usleep(1000000);say;}' $@;
}
export -f offset_seq
run() {
seq 4 -1 1 | parallel -j0 $@ offset_seq '{= $_=seq()*170000 =}' {}
}
export -f run
parallel --delay 0.07 -vkj0 run \
::: --lb --ll '' ::: --color '' ::: '--tagstring {}{}' --tag '' ::: -k '' |
md5sum
}
ctrlz_should_suspend_children() { ctrlz_should_suspend_children() {
echo 'bug #46120: Suspend should suspend (at least local) children' echo 'bug #46120: Suspend should suspend (at least local) children'
echo 'it should burn 1.9 CPU seconds, but no more than that' echo 'it should burn 1.9 CPU seconds, but no more than that'

View file

@ -0,0 +1,59 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# These fail regularly
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
parallel --color --tag --ll true ::: ERROR-should-not-be-printed
parallel --color --tag --ll 'echo;true {}' ::: empty-line
parallel --color --tag --ll 'echo {};true {}' ::: full-line
}
par_ll_lb_color() {
echo '### This should give the same output with color and without'
echo 'bug #62386: --color (--ctag but without --tag)'
echo 'bug #62438: See last line from multiple jobslots'
# This is a race condition
# # delay modulo 4 seconds
# perl -MTime::HiRes -E 'Time::HiRes::usleep(1000000*(((time|3)+1)-Time::HiRes::time()));'
# # delay modulo 2 seconds
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|1)));say time;'
# # delay modulo 1 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|0)));say time;'
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time*4|0)/4));say time;'
# # delay modulo 1/4 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(-time+(1+time*3|0)/3));say time;';
# # delay modulo 1/4 second + 100 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.1-time+(1+time*3|0)/3));say time;';
# # delay modulo 1 second + 200 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.2-time+(1+time*1|0)/1));say time;';
# # delay modulo 1 second + delta ms
# perl -E 'use Time::HiRes qw(usleep time); $d=shift; for(1..shift){
# usleep(1000000*($d-time+(1+time*1|0)/1));say;}' 0.2 6;
_offset_seq() {
perl -E 'use Time::HiRes qw(usleep time); $|=1;$d=shift; for(1..shift){
usleep(1000000*($d-time+(1+time*1|0)/1));say;}' $@;
}
offset_seq() {
perl -E 'use Time::HiRes qw(usleep time); $|=1;usleep(shift); for(1..shift){
usleep(1000000);say;}' $@;
}
export -f offset_seq
run() {
seq 4 -1 1 | parallel -j0 $@ offset_seq '{= $_=seq()*170000 =}' {}
}
export -f run
parallel --delay 0.07 -vkj0 run \
::: --lb --ll '' ::: -k '' ::: '--tagstring {}{}' --tag '' ::: '' --color
}
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort |
# parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
parallel --joblog /tmp/jl-`basename $0` -j0 --tag -k '{} 2>&1'

View file

@ -80,15 +80,15 @@ par_colour_failed 2(B
par_colour_failed seq 2;exit 2(B par_colour_failed seq 2;exit 2(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed 2(B par_colour_failed 2(B
par_colour_failed seq 1;exit 0(B par_colour_failed seq 1;exit 0(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed seq 1;exit 1(B par_colour_failed seq 1;exit 1(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed seq 1;exit 2(B par_colour_failed seq 1;exit 2(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed seq 2;exit 0(B par_colour_failed seq 2;exit 0(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed 2(B par_colour_failed 2(B
par_colour_failed seq 2;exit 1(B par_colour_failed seq 2;exit 1(B
par_colour_failed 1(B par_colour_failed 1(B
par_colour_failed 2(B par_colour_failed 2(B
@ -324,6 +324,9 @@ par_link_files_as_only_arg bug #50685: single ::::+ does not work
par_link_files_as_only_arg 1 1 1 par_link_files_as_only_arg 1 1 1
par_link_files_as_only_arg 2 2 2 par_link_files_as_only_arg 2 2 2
par_link_files_as_only_arg 3 3 3 par_link_files_as_only_arg 3 3 3
par_ll_long_followed_by_short par_ll_long_followed_by_short A very long line
par_ll_long_followed_by_short  par_ll_long_followed_by_short A very long line
par_ll_long_followed_by_short  par_ll_long_followed_by_short OK
par_locale_quoting ### quoting in different locales par_locale_quoting ### quoting in different locales
par_locale_quoting £`/tmp/test£` par_locale_quoting £`/tmp/test£`
par_locale_quoting $LC_ALL £`/tmp/test£` par_locale_quoting $LC_ALL £`/tmp/test£`

View file

@ -532,67 +532,67 @@ par_line_buffer ### --line-buffer
par_line_buffer 55 55 120 par_line_buffer 55 55 120
par_line_buffer These must diff: 1 par_line_buffer These must diff: 1
par_ll_color_long_line ### --latest-line --color with lines longer than terminal width par_ll_color_long_line ### --latest-line --color with lines longer than terminal width
par_ll_color_long_line par_ll_color_long_line 01x 0100000 1 2 3 4 5 6 7>(B par_ll_color_long_line par_ll_color_long_line 01x 0100000 1 2 3 4 5 6 7>(B
par_ll_color_long_line par_ll_color_long_line 02xx 0200000 1 2 3 4 5 6 7>(B par_ll_color_long_line par_ll_color_long_line 02xx 0200000 1 2 3 4 5 6 7>(B
par_ll_color_long_line par_ll_color_long_line 03xxx 0300000 1 2 3 4 5 6 7>(B par_ll_color_long_line par_ll_color_long_line 03xxx 0300000 1 2 3 4 5 6 7>(B
par_ll_color_long_line par_ll_color_long_line 04xxxx 0400000 1 2 3 4 5 6 7>(B par_ll_color_long_line par_ll_color_long_line 04xxxx 0400000 1 2 3 4 5 6 7>(B
par_ll_color_long_line par_ll_color_long_line 05xxxxx 0500000 1 2 3 4 5 6 7>(B par_ll_color_long_line par_ll_color_long_line 05xxxxx 0500000 1 2 3 4 5 6 7>(B
par_ll_color_long_line par_ll_color_long_line 06xxxxxx 0600000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 06xxxxxx 0600000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 07xxxxxxx 0700000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 07xxxxxxx 0700000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 08xxxxxxxx 0800000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 08xxxxxxxx 0800000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 09xxxxxxxxx 0900000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 09xxxxxxxxx 0900000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 10xxxxxxxxxx 1000000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 10xxxxxxxxxx 1000000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 11xxxxxxxxxxx 1100000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 11xxxxxxxxxxx 1100000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 12xxxxxxxxxxxx 1200000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 12xxxxxxxxxxxx 1200000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 13xxxxxxxxxxxxx 1300000 1 2 3>(B par_ll_color_long_line par_ll_color_long_line 13xxxxxxxxxxxxx 1300000 1 2 3>(B
par_ll_color_long_line par_ll_color_long_line 14xxxxxxxxxxxxxx 14000>(B par_ll_color_long_line par_ll_color_long_line 14xxxxxxxxxxxxxx 14000>(B
par_ll_color_long_line par_ll_color_long_line 15xxxxxxxxxxxxxxx 15000>(B par_ll_color_long_line par_ll_color_long_line 15xxxxxxxxxxxxxxx 15000>(B
par_ll_color_long_line par_ll_color_long_line 16xxxxxxxxxxxxxxxx 16000>(B par_ll_color_long_line par_ll_color_long_line 16xxxxxxxxxxxxxxxx 16000>(B
par_ll_color_long_line par_ll_color_long_line 17xxxxxxxxxxxxxxxxx 17000>(B par_ll_color_long_line par_ll_color_long_line 17xxxxxxxxxxxxxxxxx 17000>(B
par_ll_color_long_line par_ll_color_long_line 18xxxxxxxxxxxxxxxxxx 18000>(B par_ll_color_long_line par_ll_color_long_line 18xxxxxxxxxxxxxxxxxx 18000>(B
par_ll_color_long_line par_ll_color_long_line 19xxxxxxxxxxxxxxxxxxx 19000>(B par_ll_color_long_line par_ll_color_long_line 19xxxxxxxxxxxxxxxxxxx 19000>(B
par_ll_color_long_line par_ll_color_long_line 20xxxxxxxxxxxxxxxxxxxx 20000>(B par_ll_color_long_line par_ll_color_long_line 20xxxxxxxxxxxxxxxxxxxx 20000>(B
par_ll_color_long_line par_ll_color_long_line 21xxxxxxxxxxxxxxxxxxxxx 21000>(B par_ll_color_long_line par_ll_color_long_line 21xxxxxxxxxxxxxxxxxxxxx 21000>(B
par_ll_color_long_line par_ll_color_long_line 22xxxxxxxxxxxxxxxxxxxxxx >(B par_ll_color_long_line par_ll_color_long_line 22xxxxxxxxxxxxxxxxxxxxxx >(B
par_ll_color_long_line par_ll_color_long_line 23xxxxxxxxxxxxxxxxxxxxxxx >(B par_ll_color_long_line par_ll_color_long_line 23xxxxxxxxxxxxxxxxxxxxxxx >(B
par_ll_color_long_line par_ll_color_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx >(B par_ll_color_long_line par_ll_color_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx >(B
par_ll_color_long_line par_ll_color_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx >(B par_ll_color_long_line par_ll_color_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx >(B
par_ll_color_long_line par_ll_color_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx >(B par_ll_color_long_line par_ll_color_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx >(B
par_ll_color_long_line par_ll_color_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B par_ll_color_long_line par_ll_color_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B
par_ll_color_long_line par_ll_color_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B par_ll_color_long_line par_ll_color_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B
par_ll_color_long_line par_ll_color_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B par_ll_color_long_line par_ll_color_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B
par_ll_color_long_line par_ll_color_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B par_ll_color_long_line par_ll_color_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx>(B
par_ll_long_line ### --latest-line with lines longer than terminal width par_ll_long_line ### --latest-line with lines longer than terminal width
par_ll_long_line par_ll_long_line 01x 0100000 1 2 3 4 5 6 7> par_ll_long_line par_ll_long_line 01x 0100000 1 2 3 4 5 6 7>
par_ll_long_line par_ll_long_line 02xx 0200000 1 2 3 4 5 6 7> par_ll_long_line par_ll_long_line 02xx 0200000 1 2 3 4 5 6 7>
par_ll_long_line par_ll_long_line 03xxx 0300000 1 2 3 4 5 6 7> par_ll_long_line par_ll_long_line 03xxx 0300000 1 2 3 4 5 6 7>
par_ll_long_line par_ll_long_line 04xxxx 0400000 1 2 3 4 5 6 7> par_ll_long_line par_ll_long_line 04xxxx 0400000 1 2 3 4 5 6 7>
par_ll_long_line par_ll_long_line 05xxxxx 0500000 1 2 3 4 5 6 7> par_ll_long_line par_ll_long_line 05xxxxx 0500000 1 2 3 4 5 6 7>
par_ll_long_line par_ll_long_line 06xxxxxx 0600000 1 2 3> par_ll_long_line par_ll_long_line 06xxxxxx 0600000 1 2 3>
par_ll_long_line par_ll_long_line 07xxxxxxx 0700000 1 2 3> par_ll_long_line par_ll_long_line 07xxxxxxx 0700000 1 2 3>
par_ll_long_line par_ll_long_line 08xxxxxxxx 0800000 1 2 3> par_ll_long_line par_ll_long_line 08xxxxxxxx 0800000 1 2 3>
par_ll_long_line par_ll_long_line 09xxxxxxxxx 0900000 1 2 3> par_ll_long_line par_ll_long_line 09xxxxxxxxx 0900000 1 2 3>
par_ll_long_line par_ll_long_line 10xxxxxxxxxx 1000000 1 2 3> par_ll_long_line par_ll_long_line 10xxxxxxxxxx 1000000 1 2 3>
par_ll_long_line par_ll_long_line 11xxxxxxxxxxx 1100000 1 2 3> par_ll_long_line par_ll_long_line 11xxxxxxxxxxx 1100000 1 2 3>
par_ll_long_line par_ll_long_line 12xxxxxxxxxxxx 1200000 1 2 3> par_ll_long_line par_ll_long_line 12xxxxxxxxxxxx 1200000 1 2 3>
par_ll_long_line par_ll_long_line 13xxxxxxxxxxxxx 1300000 1 2 3> par_ll_long_line par_ll_long_line 13xxxxxxxxxxxxx 1300000 1 2 3>
par_ll_long_line par_ll_long_line 14xxxxxxxxxxxxxx 14000> par_ll_long_line par_ll_long_line 14xxxxxxxxxxxxxx 14000>
par_ll_long_line par_ll_long_line 15xxxxxxxxxxxxxxx 15000> par_ll_long_line par_ll_long_line 15xxxxxxxxxxxxxxx 15000>
par_ll_long_line par_ll_long_line 16xxxxxxxxxxxxxxxx 16000> par_ll_long_line par_ll_long_line 16xxxxxxxxxxxxxxxx 16000>
par_ll_long_line par_ll_long_line 17xxxxxxxxxxxxxxxxx 17000> par_ll_long_line par_ll_long_line 17xxxxxxxxxxxxxxxxx 17000>
par_ll_long_line par_ll_long_line 18xxxxxxxxxxxxxxxxxx 18000> par_ll_long_line par_ll_long_line 18xxxxxxxxxxxxxxxxxx 18000>
par_ll_long_line par_ll_long_line 19xxxxxxxxxxxxxxxxxxx 19000> par_ll_long_line par_ll_long_line 19xxxxxxxxxxxxxxxxxxx 19000>
par_ll_long_line par_ll_long_line 20xxxxxxxxxxxxxxxxxxxx 20000> par_ll_long_line par_ll_long_line 20xxxxxxxxxxxxxxxxxxxx 20000>
par_ll_long_line par_ll_long_line 21xxxxxxxxxxxxxxxxxxxxx 21000> par_ll_long_line par_ll_long_line 21xxxxxxxxxxxxxxxxxxxxx 21000>
par_ll_long_line par_ll_long_line 22xxxxxxxxxxxxxxxxxxxxxx > par_ll_long_line par_ll_long_line 22xxxxxxxxxxxxxxxxxxxxxx >
par_ll_long_line par_ll_long_line 23xxxxxxxxxxxxxxxxxxxxxxx > par_ll_long_line par_ll_long_line 23xxxxxxxxxxxxxxxxxxxxxxx >
par_ll_long_line par_ll_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx > par_ll_long_line par_ll_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx >
par_ll_long_line par_ll_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx > par_ll_long_line par_ll_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx >
par_ll_long_line par_ll_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx > par_ll_long_line par_ll_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx >
par_ll_long_line par_ll_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx> par_ll_long_line par_ll_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx>
par_ll_long_line par_ll_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx> par_ll_long_line par_ll_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx>
par_ll_long_line par_ll_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx> par_ll_long_line par_ll_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx>
par_ll_long_line par_ll_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx> par_ll_long_line par_ll_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx>
par_load_blocks ### Test if --load blocks. Bug. par_load_blocks ### Test if --load blocks. Bug.
par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 - par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 -
par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 - par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 -

View file

@ -118,15 +118,6 @@ par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup bash---pstree par_kill_hup bash---pstree
par_ll_lb_color bug #62386: --color (--ctag but without --tag)
par_ll_lb_color bug #62438: See last line from multiple jobslots
par_ll_lb_color 35d02d4d868110dd4f0eaf1c2f26dc36 -
par_ll_tag par_ll_tag should-be-tagged should-be-tagged
par_ll_tag  par_ll_tag should-be-tagged should-be-tagged
par_ll_tag par_ll_tag B  
par_ll_tag  par_ll_tag B  
par_ll_tag par_ll_tag C C 
par_ll_tag  par_ll_tag C C 
par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins
par_more_than_9_relative_sshlogin 1 par_more_than_9_relative_sshlogin 1
par_more_than_9_relative_sshlogin 2 par_more_than_9_relative_sshlogin 2

View file

@ -692,7 +692,6 @@ This is input_file
parallel -S $SERVER1 --trc {}.out cat {} ">"{}.out ::: input_file parallel -S $SERVER1 --trc {}.out cat {} ">"{}.out ::: input_file
cat input_file.out cat input_file.out
This is input_file This is input_file
rsync: [sender] link_stat "/home/parallel/input_file.out" failed: No such file or directory (2)
echo common data > common_file echo common data > common_file
parallel --basefile common_file -S $SERVER1 \ parallel --basefile common_file -S $SERVER1 \
cat common_file\; echo {} ::: foo cat common_file\; echo {} ::: foo
@ -1285,7 +1284,7 @@ This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing. If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
parallel --version parallel --version
GNU parallel VERSION GNU parallel VERSION
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software
Foundation, Inc. Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
@ -1331,4 +1330,4 @@ mentioned in the release notes of next version of GNU Parallel.
echo A echo A
echo B echo B
echo C echo C
8 9