mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-03 11:27:54 +00:00
Released as 20220522 ('NATO')
This commit is contained in:
parent
8df9524948
commit
2fc5f66688
27
Makefile.in
27
Makefile.in
|
@ -1,7 +1,7 @@
|
|||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -137,8 +137,8 @@ am__recursive_targets = \
|
|||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir distdir-am dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||
$(LISP)config.h.in
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
||||
config.h.in
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
|
@ -155,9 +155,6 @@ am__define_uniq_tagged_files = \
|
|||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in NEWS \
|
||||
README install-sh missing
|
||||
|
@ -199,6 +196,8 @@ am__relativize = \
|
|||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
DIST_TARGETS = dist-gzip
|
||||
# Exists only to be overridden by the user if desired.
|
||||
AM_DISTCHECK_DVI_TARGET = dvi
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
|
@ -210,11 +209,14 @@ AUTOCONF = @AUTOCONF@
|
|||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CSCOPE = @CSCOPE@
|
||||
CTAGS = @CTAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
ETAGS = @ETAGS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
|
@ -438,7 +440,6 @@ cscopelist-am: $(am__tagged_files)
|
|||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
|
@ -522,6 +523,10 @@ dist-xz: distdir
|
|||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-zstd: distdir
|
||||
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
@echo WARNING: "Support for distribution archives compressed with" \
|
||||
"legacy program 'compress' is deprecated." >&2
|
||||
|
@ -564,6 +569,8 @@ distcheck: dist
|
|||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
*.tar.zst*) \
|
||||
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir)
|
||||
chmod u+w $(distdir)
|
||||
|
@ -579,7 +586,7 @@ distcheck: dist
|
|||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
|
@ -740,7 +747,7 @@ uninstall-am:
|
|||
am--refresh check check-am clean clean-cscope clean-generic \
|
||||
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
|
||||
distcheck distclean distclean-generic distclean-hdr \
|
||||
dist-zstd distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
|
|
26
NEWS
26
NEWS
|
@ -1,3 +1,29 @@
|
|||
20220522
|
||||
|
||||
New in this release:
|
||||
|
||||
* --latest-line shows only the latest line of running jobs.
|
||||
|
||||
* --color colors output in different colors per job (this obsoletes --ctag).
|
||||
|
||||
* xargs compatibility: --process-slot-var foo sets $foo to jobslot-1.
|
||||
|
||||
* xargs compatibility: --open-tty opens the terminal on stdin (standard input).
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
News about GNU Parallel:
|
||||
|
||||
* Building a fault-tolerant work queue for command-line executions
|
||||
with GNU Parallel https://www.jvt.me/posts/2022/04/28/shell-queue/
|
||||
|
||||
* Make your code do more, with less
|
||||
https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
|
||||
|
||||
* W09 B IntroHPC II 20220513 gnu parallel
|
||||
https://www.youtube.com/watch?v=2udvC90rIa4
|
||||
|
||||
|
||||
20220422
|
||||
|
||||
New in this release:
|
||||
|
|
24
README
24
README
|
@ -57,11 +57,11 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig
|
||||
gpg parallel-20220422.tar.bz2.sig
|
||||
bzip2 -dc parallel-20220422.tar.bz2 | tar xvf -
|
||||
cd parallel-20220422
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2.sig
|
||||
gpg parallel-20220522.tar.bz2.sig
|
||||
bzip2 -dc parallel-20220522.tar.bz2 | tar xvf -
|
||||
cd parallel-20220522
|
||||
./configure && make && sudo make install
|
||||
|
||||
|
||||
|
@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as:
|
|||
If you are not root you can add ~/bin to your path and install in
|
||||
~/bin and ~/share:
|
||||
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig
|
||||
gpg parallel-20220422.tar.bz2.sig
|
||||
bzip2 -dc parallel-20220422.tar.bz2 | tar xvf -
|
||||
cd parallel-20220422
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2.sig
|
||||
gpg parallel-20220522.tar.bz2.sig
|
||||
bzip2 -dc parallel-20220522.tar.bz2 | tar xvf -
|
||||
cd parallel-20220522
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
Or if your system lacks 'make' you can simply copy src/parallel
|
||||
|
@ -122,8 +122,8 @@ will love you for it.
|
|||
When using programs that use GNU Parallel to process data for
|
||||
publication please cite:
|
||||
|
||||
Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').
|
||||
Zenodo. https://doi.org/10.5281/zenodo.6479152
|
||||
Tange, O. (2022, May 22). GNU Parallel 20220522 ('NATO').
|
||||
Zenodo. https://doi.org/10.5281/zenodo.6570228
|
||||
|
||||
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
||||
Software Foundation, Inc.
|
||||
|
|
65
aclocal.m4
vendored
65
aclocal.m4
vendored
|
@ -1,6 +1,6 @@
|
|||
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -14,13 +14,13 @@
|
|||
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
|
||||
[m4_warning([this file was generated for autoconf 2.69.
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
|
||||
[m4_warning([this file was generated for autoconf 2.71.
|
||||
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||
If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
||||
|
||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|||
[am__api_version='1.16'
|
||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||
dnl require some minimum version. Point them to the right macro.
|
||||
m4_if([$1], [1.16.1], [],
|
||||
m4_if([$1], [1.16.5], [],
|
||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||
])
|
||||
|
||||
|
@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.16.1])dnl
|
||||
[AM_AUTOMAKE_VERSION([1.16.5])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
|
||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|||
|
||||
# AM_CONDITIONAL -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -143,7 +143,7 @@ fi])])
|
|||
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -171,6 +171,10 @@ m4_defn([AC_PROG_CC])
|
|||
# release and drop the old call support.
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_PREREQ([2.65])dnl
|
||||
m4_ifdef([_$0_ALREADY_INIT],
|
||||
[m4_fatal([$0 expanded multiple times
|
||||
]m4_defn([_$0_ALREADY_INIT]))],
|
||||
[m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
|
||||
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||
dnl the ones we care about.
|
||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||
|
@ -207,7 +211,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
|||
[_AM_SET_OPTIONS([$1])dnl
|
||||
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||
m4_if(
|
||||
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
|
||||
m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
|
||||
[ok:ok],,
|
||||
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||
|
@ -259,6 +263,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
|
|||
[m4_define([AC_PROG_OBJCXX],
|
||||
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
|
||||
])
|
||||
# Variables for tags utilities; see am/tags.am
|
||||
if test -z "$CTAGS"; then
|
||||
CTAGS=ctags
|
||||
fi
|
||||
AC_SUBST([CTAGS])
|
||||
if test -z "$ETAGS"; then
|
||||
ETAGS=etags
|
||||
fi
|
||||
AC_SUBST([ETAGS])
|
||||
if test -z "$CSCOPE"; then
|
||||
CSCOPE=cscope
|
||||
fi
|
||||
AC_SUBST([CSCOPE])
|
||||
|
||||
AC_REQUIRE([AM_SILENT_RULES])dnl
|
||||
dnl The testsuite driver may need to know about EXEEXT, so add the
|
||||
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
|
||||
|
@ -340,7 +358,7 @@ for _am_header in $config_headers :; do
|
|||
done
|
||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -361,7 +379,7 @@ if test x"${install_sh+set}" != xset; then
|
|||
fi
|
||||
AC_SUBST([install_sh])])
|
||||
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -382,7 +400,7 @@ AC_SUBST([am__leading_dot])])
|
|||
|
||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -403,12 +421,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
|||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||
if test x"${MISSING+set}" != xset; then
|
||||
case $am_aux_dir in
|
||||
*\ * | *\ *)
|
||||
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
||||
*)
|
||||
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
||||
esac
|
||||
MISSING="\${SHELL} '$am_aux_dir/missing'"
|
||||
fi
|
||||
# Use eval to expand $SHELL
|
||||
if eval "$MISSING --is-lightweight"; then
|
||||
|
@ -421,7 +434,7 @@ fi
|
|||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -452,7 +465,7 @@ AC_DEFUN([_AM_IF_OPTION],
|
|||
|
||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -533,7 +546,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|||
rm -f conftest.file
|
||||
])
|
||||
|
||||
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -593,7 +606,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||
])
|
||||
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -621,7 +634,7 @@ fi
|
|||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2006-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -640,7 +653,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|||
|
||||
# Check how to create a tarball. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004-2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel],[20220422],[bug-parallel@gnu.org])
|
||||
AC_INIT([parallel],[20220522],[bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -31,9 +31,6 @@ Quote of the month:
|
|||
아 parallel 너무 좋지요.
|
||||
-- 어엉부엉@d_ijk_stra
|
||||
|
||||
It's amazing how fast you can get with bash pipelines and GNU Parallel.
|
||||
-- Eric Pauley @EricPauley_
|
||||
|
||||
GNU parallel すごいな、シェルスクリプトを make -jX みたいにして並列
|
||||
に走らせたいときに超便利
|
||||
-- びーる @debugordie@twitter
|
||||
|
@ -192,6 +189,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
|
|||
|
||||
=== Used ===
|
||||
|
||||
It's amazing how fast you can get with bash pipelines and GNU Parallel.
|
||||
-- Eric Pauley @EricPauley_
|
||||
|
||||
Immensely useful which I am forever grateful that it exists.
|
||||
-- AlexDragusin@ycombinator
|
||||
|
||||
|
|
|
@ -254,19 +254,24 @@ from:tange@gnu.org
|
|||
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
Subject: GNU Parallel 20220522 ('Colorado/Слава Україні Emmanuel Jean-Michel Frédéric<<>>') released [stable]
|
||||
Subject: GNU Parallel 20220522 ('NATO') released
|
||||
|
||||
GNU Parallel 20220522 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||
|
||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||
GNU Parallel 20220522 ('NATO') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||
|
||||
Quote of the month:
|
||||
|
||||
<<>>
|
||||
It's amazing how fast you can get with bash pipelines and GNU Parallel.
|
||||
-- Eric Pauley @EricPauley_
|
||||
|
||||
New in this release:
|
||||
|
||||
* <<>>
|
||||
* --latest-line shows only the latest line of running jobs.
|
||||
|
||||
* --color colors output in different colors per job (this obsoletes --ctag).
|
||||
|
||||
* xargs compatibility: --process-slot-var foo sets $foo to jobslot-1.
|
||||
|
||||
* xargs compatibility: --open-tty opens the terminal on stdin (standard input).
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
@ -274,13 +279,9 @@ News about GNU Parallel:
|
|||
|
||||
* Building a fault-tolerant work queue for command-line executions with GNU Parallel https://www.jvt.me/posts/2022/04/28/shell-queue/
|
||||
|
||||
https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
|
||||
* Make your code do more, with less https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
|
||||
|
||||
W09 B IntroHPC II 20220513 gnu parallel https://www.youtube.com/watch?v=2udvC90rIa4
|
||||
|
||||
https://saveriomiroddi.github.io/Running-shell-commands-in-parallel-via-gnu-parallel/#xdg_runtime_dir
|
||||
|
||||
<<>>
|
||||
* W09 B IntroHPC II 20220513 gnu parallel https://www.youtube.com/watch?v=2udvC90rIa4
|
||||
|
||||
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<directory name="parallel" rev="324" vrev="1" srcmd5="5f834ad53135d661513af3f6b07fbe69">
|
||||
<entry name="PKGBUILD" md5="3b4edb67df6236802be123f1061be030" size="936" mtime="1650704663" />
|
||||
<entry name="parallel-20220422.tar.bz2" md5="28255a8eb5c97f21d4b4393f5da7c3a2" size="2367855" mtime="1650704663" />
|
||||
<entry name="parallel.spec" md5="7046fe886aae9027018f19886eeea1bc" size="5713" mtime="1650704664" />
|
||||
<entry name="parallel_20220422.dsc" md5="77c1968dd5bb3db1e4149822c61774c1" size="556" mtime="1650704664" />
|
||||
<entry name="parallel_20220422.tar.gz" md5="18deb097920cd639bea5777c4a70e037" size="2620302" mtime="1650704664" />
|
||||
<directory name="parallel" rev="325" vrev="1" srcmd5="0e4e7b85fb839b1b92a506e1b2992935">
|
||||
<entry name="PKGBUILD" md5="eef8ab7c0ccf83a0e08cbf0b111047fd" size="936" mtime="1653216427" />
|
||||
<entry name="parallel-20220522.tar.bz2" md5="3fb2288f04f550dc246c9388558a67bb" size="2372700" mtime="1653216428" />
|
||||
<entry name="parallel.spec" md5="dfa4b6691d57f32d68d5fe022d0e1801" size="5713" mtime="1653216428" />
|
||||
<entry name="parallel_20220422.dsc" md5="53564c7e423948f3c25fb82bae7754ee" size="556" mtime="1653216428" />
|
||||
<entry name="parallel_20220422.tar.gz" md5="4ece6ee823ae7b492081af3991b4ae86" size="2638371" mtime="1653216428" />
|
||||
</directory>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20220422
|
||||
Version: 20220522
|
||||
Release: 1.3
|
||||
License: GPL-3.0-or-later
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -395,7 +395,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -397,7 +397,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -395,7 +395,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -378,7 +378,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -380,7 +380,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -395,7 +395,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -370,7 +370,7 @@ _parset_main() {
|
|||
fi
|
||||
if [ "$_parset_NAME" = "--version" ] ; then
|
||||
# shellcheck disable=SC2006
|
||||
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "parset 20220522 (GNU parallel `parallel --minversion 1`)"
|
||||
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
|
||||
echo "Foundation, Inc."
|
||||
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20220422;
|
||||
$Global::version = 20220522;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
24
src/parallel
24
src/parallel
|
@ -2654,7 +2654,7 @@ sub check_invalid_option_combinations() {
|
|||
|
||||
sub init_globals() {
|
||||
# Defaults:
|
||||
$Global::version = 20220501;
|
||||
$Global::version = 20220522;
|
||||
$Global::progname = 'parallel';
|
||||
$::name = "GNU Parallel";
|
||||
$Global::infinity = 2**31;
|
||||
|
@ -5511,8 +5511,8 @@ sub usage() {
|
|||
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||
"scientific publication, please cite:",
|
||||
"",
|
||||
" Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.6479152",
|
||||
" Tange, O. (2022, May 22). GNU Parallel 20220522 ('NATO').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.6570228",
|
||||
"",
|
||||
# Before changing these lines, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
|
||||
|
@ -5544,8 +5544,8 @@ sub citation_notice() {
|
|||
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||
"scientific publication, please cite:",
|
||||
"",
|
||||
" Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.6479152",
|
||||
" Tange, O. (2022, May 22). GNU Parallel 20220522 ('NATO').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.6570228",
|
||||
"",
|
||||
# Before changing these line, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
||||
|
@ -5672,20 +5672,20 @@ sub citation() {
|
|||
"If you use programs that use GNU Parallel to process data for an article in a",
|
||||
"scientific publication, please cite:",
|
||||
"",
|
||||
"\@software{tange_2022_6479152,",
|
||||
"\@software{tange_2022_6570228,",
|
||||
" author = {Tange, Ole},",
|
||||
" title = {GNU Parallel 20220422 ('Буча')},",
|
||||
" month = Apr,",
|
||||
" year = 2021,",
|
||||
" title = {GNU Parallel 20220522 ('NATO')},",
|
||||
" month = May,",
|
||||
" year = 2022,",
|
||||
" note = {{GNU Parallel is a general parallelizer to run",
|
||||
" multiple serial command line programs in parallel",
|
||||
" without changing them.}},",
|
||||
" publisher = {Zenodo},",
|
||||
" doi = {10.5281/zenodo.6479152},",
|
||||
" url = {https://doi.org/10.5281/zenodo.6479152}",
|
||||
" doi = {10.5281/zenodo.6570228},",
|
||||
" url = {https://doi.org/10.5281/zenodo.6570228}",
|
||||
"}",
|
||||
"",
|
||||
"(Feel free to use \\nocite{tange_2022_6479152})",
|
||||
"(Feel free to use \\nocite{tange_2022_6570228})",
|
||||
"",
|
||||
# Before changing these lines, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
|
||||
|
|
|
@ -752,9 +752,11 @@ B<--return>
|
|||
|
||||
Colour output.
|
||||
|
||||
Colour the output. Each job gets its own color combination
|
||||
Colour the output. Each job gets its own colour combination
|
||||
(background+foreground).
|
||||
|
||||
B<--color> is ignored when using B<-u>.
|
||||
|
||||
|
||||
=item B<--colsep> I<regexp>
|
||||
|
||||
|
@ -1562,14 +1564,14 @@ Example:
|
|||
perl -ne '$|=1; for(split//){ print; select($a,$a,$a,0.03);}'
|
||||
}
|
||||
export -f slow_seq
|
||||
parallel --shuf -j10 --llb --color slow_seq {} ::: {1..100}
|
||||
parallel --shuf -j10 --ll --tag --bar --color slow_seq {} ::: {1..100}
|
||||
|
||||
See also: B<--line-buffer>
|
||||
|
||||
|
||||
=item B<--line-buffer>
|
||||
=item B<--line-buffer> (alpha testing)
|
||||
|
||||
=item B<--lb>
|
||||
=item B<--lb> (alpha testing)
|
||||
|
||||
Buffer output on line basis.
|
||||
|
||||
|
|
|
@ -3414,14 +3414,14 @@ The coloring done by GNU B<parallel> is not exactly the same as B<p>.
|
|||
1$ p -bc blue "ping 127.0.0.1" -uc red "ping 192.168.0.1" \
|
||||
-rc yellow "ping 192.168.1.1" -t example "ping example.com"
|
||||
|
||||
1$ parallel --lb -j0 --ctag ping \
|
||||
1$ parallel --lb -j0 --color --tag ping \
|
||||
::: 127.0.0.1 192.168.0.1 192.168.1.1 example.com
|
||||
|
||||
2$ p "tail -f /var/log/httpd/access_log" \
|
||||
-bc red "tail -f /var/log/httpd/error_log"
|
||||
|
||||
2$ cd /var/log/httpd;
|
||||
parallel --lb --ctag tail -f ::: access_log error_log
|
||||
parallel --lb --color --tag tail -f ::: access_log error_log
|
||||
|
||||
3$ p tail -f "some file" \& p tail -f "other file with space.txt"
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ GetOptions(
|
|||
"help" => \$opt::dummy,
|
||||
) || exit(255);
|
||||
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
|
||||
$Global::version = 20220422;
|
||||
$Global::version = 20220522;
|
||||
if($opt::version) { version(); exit 0; }
|
||||
@Global::sortoptions = grep { ! /^-D$/ }
|
||||
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);
|
||||
|
|
|
@ -116,7 +116,7 @@ for I<-j>. E.g. I<procfile> could contain the string 100% or +2 or
|
|||
10.
|
||||
|
||||
|
||||
=item B<--pipe> (alpha testing)
|
||||
=item B<--pipe> (beta testing)
|
||||
|
||||
Pass stdin (standard input) to I<command>.
|
||||
|
||||
|
|
2
src/sql
2
src/sql
|
@ -600,7 +600,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20220422;
|
||||
$Global::version = 20220522;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -45,6 +45,7 @@ install_packages() {
|
|||
build_pkgs="$build_pkgs python3-cmarkgfm graphviz"
|
||||
|
||||
sudo dpkg --add-architecture i386; sudo apt update
|
||||
pip install sphinx-rtd-theme
|
||||
if $INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs \
|
||||
$compression_pkgs $shell_pkgs $database_pkgs $build_pkgs ; then
|
||||
# OK
|
||||
|
|
|
@ -201,7 +201,7 @@ par_test_build_and_install make[0]: Leaving directory '~/privat/parallel'
|
|||
par_test_build_and_install ### Test normal build and install
|
||||
par_test_build_and_install checking for a BSD-compatible install... /bin/install -c
|
||||
par_test_build_and_install checking whether build environment is sane... yes
|
||||
par_test_build_and_install checking for a thread-safe mkdir -p... /bin/mkdir -p
|
||||
par_test_build_and_install checking for a race-free mkdir -p... /bin/mkdir -p
|
||||
par_test_build_and_install checking for gawk... gawk
|
||||
par_test_build_and_install checking whether make sets $(MAKE)... yes
|
||||
par_test_build_and_install checking whether make supports nested variables... yes
|
||||
|
@ -241,7 +241,7 @@ par_test_build_and_install make[0]: Leaving directory '/tmp/parallel-00000000'
|
|||
par_test_build_and_install ### Test installation missing pod2*
|
||||
par_test_build_and_install checking for a BSD-compatible install... /bin/install -c
|
||||
par_test_build_and_install checking whether build environment is sane... yes
|
||||
par_test_build_and_install checking for a thread-safe mkdir -p... /bin/mkdir -p
|
||||
par_test_build_and_install checking for a race-free mkdir -p... /bin/mkdir -p
|
||||
par_test_build_and_install checking for gawk... gawk
|
||||
par_test_build_and_install checking whether make sets $(MAKE)... yes
|
||||
par_test_build_and_install checking whether make supports nested variables... yes
|
||||
|
|
|
@ -1303,7 +1303,7 @@ scientific publication, please cite:
|
|||
|
||||
author = {Tange, Ole},
|
||||
|
||||
year = 2021,
|
||||
year = 2022,
|
||||
note = {{GNU Parallel is a general parallelizer to run
|
||||
multiple serial command line programs in parallel
|
||||
without changing them.}},
|
||||
|
@ -1331,4 +1331,4 @@ mentioned in the release notes of next version of GNU Parallel.
|
|||
echo A
|
||||
echo B
|
||||
echo C
|
||||
8
|
||||
7
|
||||
|
|
Loading…
Reference in a new issue