mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 05:57:54 +00:00
parallel: Fixed bug #63586: --ll does not clear till end of line.
This commit is contained in:
parent
1022008c35
commit
acb915b074
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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
|
||||||
|
|
47
src/parallel
47
src/parallel
|
@ -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`;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.",
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
8
src/sql
8
src/sql
|
@ -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
|
||||||
|
|
|
@ -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/* |
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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'
|
||||||
|
|
59
testsuite/tests-to-run/parallel-manual.sh
Executable file
59
testsuite/tests-to-run/parallel-manual.sh
Executable 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'
|
|
@ -80,15 +80,15 @@ par_colour_failed [48;5;196;38;5;231m[K2(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[Kseq 2;exit 2(B[m
|
par_colour_failed [48;5;196;38;5;231m[Kseq 2;exit 2(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K2(B[m
|
par_colour_failed [48;5;196;38;5;231m[K2(B[m
|
||||||
par_colour_failed [48;5;134;38;5;231m[Kseq 1;exit 0(B[m
|
par_colour_failed [48;5;178;38;5;000m[Kseq 1;exit 0(B[m
|
||||||
par_colour_failed [48;5;134;38;5;231m[K1(B[m
|
par_colour_failed [48;5;178;38;5;000m[K1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[Kseq 1;exit 1(B[m
|
par_colour_failed [48;5;196;38;5;231m[Kseq 1;exit 1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[Kseq 1;exit 2(B[m
|
par_colour_failed [48;5;196;38;5;231m[Kseq 1;exit 2(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
||||||
par_colour_failed [48;5;149;38;5;000m[Kseq 2;exit 0(B[m
|
par_colour_failed [48;5;203;38;5;000m[Kseq 2;exit 0(B[m
|
||||||
par_colour_failed [48;5;149;38;5;000m[K1(B[m
|
par_colour_failed [48;5;203;38;5;000m[K1(B[m
|
||||||
par_colour_failed [48;5;149;38;5;000m[K2(B[m
|
par_colour_failed [48;5;203;38;5;000m[K2(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[Kseq 2;exit 1(B[m
|
par_colour_failed [48;5;196;38;5;231m[Kseq 2;exit 1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
par_colour_failed [48;5;196;38;5;231m[K1(B[m
|
||||||
par_colour_failed [48;5;196;38;5;231m[K2(B[m
|
par_colour_failed [48;5;196;38;5;231m[K2(B[m
|
||||||
|
@ -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 [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_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£`
|
||||||
|
|
|
@ -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 [48;5;134;38;5;231m[K0100000 1 2 3 4 5 6 7>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K01x [48;5;178;38;5;000m[K0100000 1 2 3 4 5 6 7>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 02xx [48;5;021;38;5;231m[K0200000 1 2 3 4 5 6 7>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K02xx [48;5;039;38;5;231m[K0200000 1 2 3 4 5 6 7>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 03xxx [48;5;243;38;5;231m[K0300000 1 2 3 4 5 6 7>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K03xxx [48;5;162;38;5;231m[K0300000 1 2 3 4 5 6 7>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 04xxxx [48;5;149;38;5;000m[K0400000 1 2 3 4 5 6 7>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K04xxxx [48;5;203;38;5;000m[K0400000 1 2 3 4 5 6 7>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 05xxxxx [48;5;102;38;5;231m[K0500000 1 2 3 4 5 6 7>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K05xxxxx [48;5;068;38;5;231m[K0500000 1 2 3 4 5 6 7>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 06xxxxxx [48;5;231;38;5;000m[K0600000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K06xxxxxx [48;5;050;38;5;000m[K0600000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 07xxxxxxx [48;5;203;38;5;231m[K0700000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K07xxxxxxx [48;5;198;38;5;231m[K0700000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 08xxxxxxxx [48;5;078;38;5;000m[K0800000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K08xxxxxxxx [48;5;226;38;5;000m[K0800000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 09xxxxxxxxx [48;5;073;38;5;231m[K0900000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K09xxxxxxxxx [48;5;097;38;5;231m[K0900000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 10xxxxxxxxxx [48;5;208;38;5;000m[K1000000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K10xxxxxxxxxx [48;5;121;38;5;000m[K1000000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 11xxxxxxxxxxx [48;5;167;38;5;231m[K1100000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K11xxxxxxxxxxx [48;5;128;38;5;231m[K1100000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 12xxxxxxxxxxxx [48;5;006;38;5;000m[K1200000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K12xxxxxxxxxxxx [48;5;177;38;5;000m[K1200000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 13xxxxxxxxxxxxx [48;5;044;38;5;231m[K1300000 1 2 3>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K13xxxxxxxxxxxxx [48;5;038;38;5;231m[K1300000 1 2 3>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 14xxxxxxxxxxxxxx [48;5;022;38;5;231m[K14000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K14xxxxxxxxxxxxxx [48;5;161;38;5;231m[K14000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 15xxxxxxxxxxxxxxx [48;5;244;38;5;231m[K15000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K15xxxxxxxxxxxxxxx [48;5;202;38;5;000m[K15000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 16xxxxxxxxxxxxxxxx [48;5;150;38;5;000m[K16000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K16xxxxxxxxxxxxxxxx [48;5;067;38;5;231m[K16000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 17xxxxxxxxxxxxxxxxx [48;5;103;38;5;231m[K17000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K17xxxxxxxxxxxxxxxxx [48;5;049;38;5;000m[K17000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 18xxxxxxxxxxxxxxxxxx [48;5;249;38;5;000m[K18000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K18xxxxxxxxxxxxxxxxxx [48;5;197;38;5;231m[K18000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 19xxxxxxxxxxxxxxxxxxx [48;5;204;38;5;231m[K19000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K19xxxxxxxxxxxxxxxxxxx [48;5;225;38;5;000m[K19000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 20xxxxxxxxxxxxxxxxxxxx [48;5;079;38;5;000m[K20000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K20xxxxxxxxxxxxxxxxxxxx [48;5;096;38;5;231m[K20000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 21xxxxxxxxxxxxxxxxxxxxx [48;5;074;38;5;231m[K21000>(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K21xxxxxxxxxxxxxxxxxxxxx [48;5;120;38;5;000m[K21000>(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 22xxxxxxxxxxxxxxxxxxxxxx >[48;5;209;38;5;000m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K22xxxxxxxxxxxxxxxxxxxxxx >[48;5;237;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 23xxxxxxxxxxxxxxxxxxxxxxx >[48;5;168;38;5;231m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K23xxxxxxxxxxxxxxxxxxxxxxx >[48;5;013;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx >[48;5;007;38;5;000m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K24xxxxxxxxxxxxxxxxxxxxxxxx >[48;5;037;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx >[48;5;045;38;5;231m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K25xxxxxxxxxxxxxxxxxxxxxxxxx >[48;5;160;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx >[48;5;186;38;5;000m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K26xxxxxxxxxxxxxxxxxxxxxxxxxx >[48;5;201;38;5;000m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;135;38;5;231m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K27xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;066;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;151;38;5;000m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K28xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;048;38;5;000m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;104;38;5;231m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K29xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;196;38;5;231m[K(B[m
|
||||||
par_ll_color_long_line
par_ll_color_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;250;38;5;000m[K(B[m
|
par_ll_color_long_line
par_ll_color_long_line [K30xxxxxxxxxxxxxxxxxxxxxxxxxxx>[48;5;224;38;5;000m[K(B[m
|
||||||
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 [K01x 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 [K02xx 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 [K03xxx 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 [K04xxxx 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 [K05xxxxx 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 [K06xxxxxx 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 [K07xxxxxxx 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 [K08xxxxxxxx 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 [K09xxxxxxxxx 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 [K10xxxxxxxxxx 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 [K11xxxxxxxxxxx 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 [K12xxxxxxxxxxxx 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 [K13xxxxxxxxxxxxx 1300000 1 2 3>
|
||||||
par_ll_long_line
par_ll_long_line 14xxxxxxxxxxxxxx 14000>
|
par_ll_long_line
par_ll_long_line [K14xxxxxxxxxxxxxx 14000>
|
||||||
par_ll_long_line
par_ll_long_line 15xxxxxxxxxxxxxxx 15000>
|
par_ll_long_line
par_ll_long_line [K15xxxxxxxxxxxxxxx 15000>
|
||||||
par_ll_long_line
par_ll_long_line 16xxxxxxxxxxxxxxxx 16000>
|
par_ll_long_line
par_ll_long_line [K16xxxxxxxxxxxxxxxx 16000>
|
||||||
par_ll_long_line
par_ll_long_line 17xxxxxxxxxxxxxxxxx 17000>
|
par_ll_long_line
par_ll_long_line [K17xxxxxxxxxxxxxxxxx 17000>
|
||||||
par_ll_long_line
par_ll_long_line 18xxxxxxxxxxxxxxxxxx 18000>
|
par_ll_long_line
par_ll_long_line [K18xxxxxxxxxxxxxxxxxx 18000>
|
||||||
par_ll_long_line
par_ll_long_line 19xxxxxxxxxxxxxxxxxxx 19000>
|
par_ll_long_line
par_ll_long_line [K19xxxxxxxxxxxxxxxxxxx 19000>
|
||||||
par_ll_long_line
par_ll_long_line 20xxxxxxxxxxxxxxxxxxxx 20000>
|
par_ll_long_line
par_ll_long_line [K20xxxxxxxxxxxxxxxxxxxx 20000>
|
||||||
par_ll_long_line
par_ll_long_line 21xxxxxxxxxxxxxxxxxxxxx 21000>
|
par_ll_long_line
par_ll_long_line [K21xxxxxxxxxxxxxxxxxxxxx 21000>
|
||||||
par_ll_long_line
par_ll_long_line 22xxxxxxxxxxxxxxxxxxxxxx >
|
par_ll_long_line
par_ll_long_line [K22xxxxxxxxxxxxxxxxxxxxxx >
|
||||||
par_ll_long_line
par_ll_long_line 23xxxxxxxxxxxxxxxxxxxxxxx >
|
par_ll_long_line
par_ll_long_line [K23xxxxxxxxxxxxxxxxxxxxxxx >
|
||||||
par_ll_long_line
par_ll_long_line 24xxxxxxxxxxxxxxxxxxxxxxxx >
|
par_ll_long_line
par_ll_long_line [K24xxxxxxxxxxxxxxxxxxxxxxxx >
|
||||||
par_ll_long_line
par_ll_long_line 25xxxxxxxxxxxxxxxxxxxxxxxxx >
|
par_ll_long_line
par_ll_long_line [K25xxxxxxxxxxxxxxxxxxxxxxxxx >
|
||||||
par_ll_long_line
par_ll_long_line 26xxxxxxxxxxxxxxxxxxxxxxxxxx >
|
par_ll_long_line
par_ll_long_line [K26xxxxxxxxxxxxxxxxxxxxxxxxxx >
|
||||||
par_ll_long_line
par_ll_long_line 27xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
par_ll_long_line
par_ll_long_line [K27xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
||||||
par_ll_long_line
par_ll_long_line 28xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
par_ll_long_line
par_ll_long_line [K28xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
||||||
par_ll_long_line
par_ll_long_line 29xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
par_ll_long_line
par_ll_long_line [K29xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
||||||
par_ll_long_line
par_ll_long_line 30xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
par_ll_long_line
par_ll_long_line [K30xxxxxxxxxxxxxxxxxxxxxxxxxxx>
|
||||||
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 -
|
||||||
|
|
|
@ -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 [A
par_ll_tag should-be-tagged should-be-tagged
|
|
||||||
par_ll_tag
par_ll_tag B [48;5;134;38;5;231m[K [m
|
|
||||||
par_ll_tag [A
par_ll_tag B [48;5;134;38;5;231m[K [m
|
|
||||||
par_ll_tag
par_ll_tag C [48;5;134;38;5;231m[KC [m
|
|
||||||
par_ll_tag [A
par_ll_tag C [48;5;134;38;5;231m[KC [m
|
|
||||||
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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue