parallel: Don't die if .../linelen is empty.

This commit is contained in:
Ole Tange 2023-01-15 14:29:51 +01:00
parent fbe533c3d4
commit bf07266ba8
13 changed files with 82 additions and 32 deletions

15
NEWS
View file

@ -1,3 +1,18 @@
20230122
New in this release:
* Bug fixes and man page updates.
News about GNU Parallel:
* The Best Ethical Hacking Tools of 2023 (and their basic usage)
https://www.purevpn.com/blog/the-best-hacking-tools-of-2023/#11_GNU_Parallel
* GNU Parallel: criando atividades em paralelo com shell script
https://www.vivaolinux.com.br/artigo/GNU-Parallel-criando-atividades-em-paralelo-com-shell-script/
20221222
New in this release:

View file

@ -4,9 +4,6 @@
Quote of the month:
Colorful output
parallel, with --color flag
tasks more vibrant now
--line-buffer, a flag
parallel, now more precise
@ -216,6 +213,11 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used ===
Colorful output
parallel, with --color flag
tasks more vibrant now
-- ChatGPT
GNU Parallel absolutely rocks.
-- Austin Mordahl@Stackoverflow

View file

@ -262,28 +262,26 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20230122 ('Bolsanaro+Brasilia/Pele/MashaAmina<<>>') released
Subject: GNU Parallel 20230122 ('Bolsanaristas') released
GNU Parallel 20230122 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
GNU Parallel 20230122 ('Bolsanaristas') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
<<>>
Colorful output
parallel, with --color flag
tasks more vibrant now
-- ChatGPT
New in this release:
<<>>
* Bug fixes and man page updates.
News about GNU Parallel:
https://www.purevpn.com/blog/the-best-hacking-tools-of-2023/#11_GNU_Parallel
https://www.vivaolinux.com.br/artigo/GNU-Parallel-criando-atividades-em-paralelo-com-shell-script/
this is wrong-https://climbtheladder.com/10-gnu-parallel-best-practices/
<<>>
* The Best Ethical Hacking Tools of 2023 (and their basic usage) https://www.purevpn.com/blog/the-best-hacking-tools-of-2023/#11_GNU_Parallel
* GNU Parallel: criando atividades em paralelo com shell script https://www.vivaolinux.com.br/artigo/GNU-Parallel-criando-atividades-em-paralelo-com-shell-script/
GNU Parallel - For people who live life in the parallel lane.

View file

@ -2833,8 +2833,12 @@ sub init_globals() {
}
# $xdg_config_home is needed to make env_parallel.fish stop complaining
my $xdg_config_home = $ENV{'XDG_CONFIG_HOME'};
# config_dirs = $PARALLEL_HOME, $XDG_CONFIG_HOME/parallel,
# $(each XDG_CONFIG_DIRS)/parallel, $HOME/.parallel
# Use the first config dir that exists from:
# $PARALLEL_HOME
# $XDG_CONFIG_HOME/parallel
# $(each XDG_CONFIG_DIRS)/parallel
# $HOME/.parallel
#
# Keep only dirs that exist
@Global::config_dirs =
(grep { -d $_ }
@ -2850,11 +2854,13 @@ sub init_globals() {
::warning("\$PARALLEL_HOME ($ENV{'PARALLEL_HOME'}) does not exist.");
::warning("Using $Global::config_dir");
}
# cache_dirs = $PARALLEL_HOME, $XDG_CACHE_HOME/parallel,
# Use the first cache dir that exists from:
# $PARALLEL_HOME
# $XDG_CACHE_HOME/parallel
# Keep only dirs that exist
@Global::cache_dirs =
(grep { -d $_ }
$ENV{'PARALLEL_HOME'}, $ENV{'XDG_CACHE_HOME'}."/parallel");
@Global::cache_dirs = (grep { -d $_ }
$ENV{'PARALLEL_HOME'},
$ENV{'XDG_CACHE_HOME'}."/parallel");
$Global::cache_dir = $Global::cache_dirs[0] ||
$ENV{'HOME'} . "/.parallel";
Job::init_color();
@ -13255,7 +13261,7 @@ sub max_length($) {
local $/ = undef;
if(open(my $fh, "<", $len_cache)) {
$cached_limit = <$fh>;
$cached_limit || ::die_bug("Cannot read $len_cache");
$cached_limit || ::warning("Invalid content in $len_cache");
close $fh;
}
if(not $cached_limit) {

View file

@ -3232,7 +3232,7 @@ then killed. Process groups are dependant on the tty.
See also: B<--ungroup> B<--open-tty>
=item B<--tag> (beta testing)
=item B<--tag>
Tag lines with arguments.
@ -3245,7 +3245,7 @@ B<--tag> is ignored when using B<-u>.
See also: B<--tagstring> B<--ctag>
=item B<--tagstring> I<str> (beta testing)
=item B<--tagstring> I<str>
Tag lines with a string.

View file

@ -3746,7 +3746,8 @@ B<rust-parallel> has a goal of only using Rust. It seems it is
impossible to call bash functions from the command line. You would
need to put these in a script.
Calling script that miss the shebang line (#! as first line) fails.
Calling a script that misses the shebang line (#! as first line)
fails.
=head3 EXAMPLES FROM rust-parallel's README.md

View file

@ -1026,7 +1026,7 @@ N+1 records.
With B<--pipepart> GNU B<parallel> can compute the B<--block-size>
automatically. A B<--block-size> of B<-1> will use a block size so
that each jobslot will receive approximately 1 block. B<--block -2>
will pass 2 blocks to each jobslot and B<-I<n>> will pass I<n> blocks
will pass 2 blocks to each jobslot and B<->I<n> will pass I<n> blocks
to each jobslot.
This can be done because B<--pipepart> reads from files, and we can

View file

@ -637,7 +637,11 @@ order. It simply skips jobs where values from different input sources
are the same:
parallel --plus echo {uniq} ::: A B C ::: A B C ::: A B C
parallel --plus echo {1uniq}+{2uniq}+{3uniq} ::: A B C ::: A B C ::: A B C
parallel --plus echo {1uniq}+{2uniq}+{3uniq} \
::: A B C ::: A B C ::: A B C
The behaviour of B<{choose_k}> is undefined, if the input values of each
source are different.
=head2 EXAMPLE: From a to b and b to c
@ -1331,7 +1335,8 @@ Here is a simple example of using GNU B<parallel> to call B<srun>:
module load gnu_parallel
my_parallel="parallel --delay .2 -j $SLURM_NTASKS"
my_srun="srun --export=all --exclusive -n1 --cpus-per-task=1 --cpu-bind=cores"
my_srun="srun --export=all --exclusive -n1"
my_srun="$my_srun --cpus-per-task=1 --cpu-bind=cores"
$my_parallel "$my_srun" echo This is job {} ::: {1..20}

View file

@ -11,7 +11,10 @@ SOURCEDIR = source
BUILDDIR = build
all: copy
make html
make html 2>&1 | \
grep -v 'WARNING: Could not lex literal_block as "perl". Highlighting skipped.'
install:
true dummy

View file

@ -105,6 +105,26 @@ html_static_path = ['_static']
#
# html_sidebars = {}
html_theme_options = {
'logo_only': False,
'display_version': True,
'prev_next_buttons_location': 'bottom',
'style_external_links': False,
'vcs_pageview_mode': '',
# 'style_nav_header_background': 'white',
# Toc options
'collapse_navigation': True,
'sticky_navigation': True,
'navigation_depth': 0,
'includehidden': True,
'titles_only': False
}
html_sidebars = {
'**': ['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'],
}
# -- Options for HTMLHelp output ---------------------------------------------

View file

@ -11,7 +11,7 @@ Welcome to GNU Parallel's documentation!
========================================
.. toctree::
:maxdepth: 1
:maxdepth: 3
:caption: parallel
parallel

View file

@ -965,8 +965,8 @@ par_sem_quote
par_shellcompletion ### --shellcompletion
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
par_shellcompletion 01947895bda95d99e1b8948a31b1c1f7 -
par_shellcompletion 01947895bda95d99e1b8948a31b1c1f7 -
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
par_slow_pipe_regexp 0 1 1

View file

@ -600,7 +600,7 @@ par_load_from_PARALLEL ### Test reading load from PARALLEL
par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
par_long_line_remote ### Deal with long command lines on remote servers
par_long_line_remote 6 6 30006
par_long_line_remote 1 6 30006
par_long_line_remote 6 50 250050
par_maxlinelen_X_I ### Test max line length -X -I
par_maxlinelen_X_I a98747678a5d18c4470a073812437ab2 -