mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
parallel: Don't die if .../linelen is empty.
This commit is contained in:
parent
fbe533c3d4
commit
bf07266ba8
15
NEWS
15
NEWS
|
@ -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
|
20221222
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
Colorful output
|
|
||||||
parallel, with --color flag
|
|
||||||
tasks more vibrant now
|
|
||||||
|
|
||||||
--line-buffer, a flag
|
--line-buffer, a flag
|
||||||
parallel, now more precise
|
parallel, now more precise
|
||||||
|
@ -216,6 +213,11 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
|
||||||
|
|
||||||
=== Used ===
|
=== Used ===
|
||||||
|
|
||||||
|
Colorful output
|
||||||
|
parallel, with --color flag
|
||||||
|
tasks more vibrant now
|
||||||
|
-- ChatGPT
|
||||||
|
|
||||||
GNU Parallel absolutely rocks.
|
GNU Parallel absolutely rocks.
|
||||||
-- Austin Mordahl@Stackoverflow
|
-- Austin Mordahl@Stackoverflow
|
||||||
|
|
||||||
|
|
|
@ -262,28 +262,26 @@ 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 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:
|
Quote of the month:
|
||||||
|
|
||||||
<<>>
|
Colorful output
|
||||||
|
parallel, with --color flag
|
||||||
|
tasks more vibrant now
|
||||||
|
-- ChatGPT
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
<<>>
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
News about GNU Parallel:
|
News about GNU Parallel:
|
||||||
|
|
||||||
https://www.purevpn.com/blog/the-best-hacking-tools-of-2023/#11_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
|
||||||
|
|
||||||
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/
|
|
||||||
|
|
||||||
<<>>
|
|
||||||
|
|
||||||
|
* 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.
|
GNU Parallel - For people who live life in the parallel lane.
|
||||||
|
|
||||||
|
|
20
src/parallel
20
src/parallel
|
@ -2833,8 +2833,12 @@ sub init_globals() {
|
||||||
}
|
}
|
||||||
# $xdg_config_home is needed to make env_parallel.fish stop complaining
|
# $xdg_config_home is needed to make env_parallel.fish stop complaining
|
||||||
my $xdg_config_home = $ENV{'XDG_CONFIG_HOME'};
|
my $xdg_config_home = $ENV{'XDG_CONFIG_HOME'};
|
||||||
# config_dirs = $PARALLEL_HOME, $XDG_CONFIG_HOME/parallel,
|
# Use the first config dir that exists from:
|
||||||
# $(each XDG_CONFIG_DIRS)/parallel, $HOME/.parallel
|
# $PARALLEL_HOME
|
||||||
|
# $XDG_CONFIG_HOME/parallel
|
||||||
|
# $(each XDG_CONFIG_DIRS)/parallel
|
||||||
|
# $HOME/.parallel
|
||||||
|
#
|
||||||
# Keep only dirs that exist
|
# Keep only dirs that exist
|
||||||
@Global::config_dirs =
|
@Global::config_dirs =
|
||||||
(grep { -d $_ }
|
(grep { -d $_ }
|
||||||
|
@ -2850,11 +2854,13 @@ sub init_globals() {
|
||||||
::warning("\$PARALLEL_HOME ($ENV{'PARALLEL_HOME'}) does not exist.");
|
::warning("\$PARALLEL_HOME ($ENV{'PARALLEL_HOME'}) does not exist.");
|
||||||
::warning("Using $Global::config_dir");
|
::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
|
# Keep only dirs that exist
|
||||||
@Global::cache_dirs =
|
@Global::cache_dirs = (grep { -d $_ }
|
||||||
(grep { -d $_ }
|
$ENV{'PARALLEL_HOME'},
|
||||||
$ENV{'PARALLEL_HOME'}, $ENV{'XDG_CACHE_HOME'}."/parallel");
|
$ENV{'XDG_CACHE_HOME'}."/parallel");
|
||||||
$Global::cache_dir = $Global::cache_dirs[0] ||
|
$Global::cache_dir = $Global::cache_dirs[0] ||
|
||||||
$ENV{'HOME'} . "/.parallel";
|
$ENV{'HOME'} . "/.parallel";
|
||||||
Job::init_color();
|
Job::init_color();
|
||||||
|
@ -13255,7 +13261,7 @@ sub max_length($) {
|
||||||
local $/ = undef;
|
local $/ = undef;
|
||||||
if(open(my $fh, "<", $len_cache)) {
|
if(open(my $fh, "<", $len_cache)) {
|
||||||
$cached_limit = <$fh>;
|
$cached_limit = <$fh>;
|
||||||
$cached_limit || ::die_bug("Cannot read $len_cache");
|
$cached_limit || ::warning("Invalid content in $len_cache");
|
||||||
close $fh;
|
close $fh;
|
||||||
}
|
}
|
||||||
if(not $cached_limit) {
|
if(not $cached_limit) {
|
||||||
|
|
|
@ -3232,7 +3232,7 @@ then killed. Process groups are dependant on the tty.
|
||||||
See also: B<--ungroup> B<--open-tty>
|
See also: B<--ungroup> B<--open-tty>
|
||||||
|
|
||||||
|
|
||||||
=item B<--tag> (beta testing)
|
=item B<--tag>
|
||||||
|
|
||||||
Tag lines with arguments.
|
Tag lines with arguments.
|
||||||
|
|
||||||
|
@ -3245,7 +3245,7 @@ B<--tag> is ignored when using B<-u>.
|
||||||
See also: B<--tagstring> B<--ctag>
|
See also: B<--tagstring> B<--ctag>
|
||||||
|
|
||||||
|
|
||||||
=item B<--tagstring> I<str> (beta testing)
|
=item B<--tagstring> I<str>
|
||||||
|
|
||||||
Tag lines with a string.
|
Tag lines with a string.
|
||||||
|
|
||||||
|
|
|
@ -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
|
impossible to call bash functions from the command line. You would
|
||||||
need to put these in a script.
|
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
|
=head3 EXAMPLES FROM rust-parallel's README.md
|
||||||
|
|
||||||
|
|
|
@ -1026,7 +1026,7 @@ N+1 records.
|
||||||
With B<--pipepart> GNU B<parallel> can compute the B<--block-size>
|
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
|
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>
|
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.
|
to each jobslot.
|
||||||
|
|
||||||
This can be done because B<--pipepart> reads from files, and we can
|
This can be done because B<--pipepart> reads from files, and we can
|
||||||
|
|
|
@ -637,7 +637,11 @@ order. It simply skips jobs where values from different input sources
|
||||||
are the same:
|
are the same:
|
||||||
|
|
||||||
parallel --plus echo {uniq} ::: A B C ::: A B C ::: A B C
|
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
|
=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
|
module load gnu_parallel
|
||||||
|
|
||||||
my_parallel="parallel --delay .2 -j $SLURM_NTASKS"
|
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}
|
$my_parallel "$my_srun" echo This is job {} ::: {1..20}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,10 @@ SOURCEDIR = source
|
||||||
BUILDDIR = build
|
BUILDDIR = build
|
||||||
|
|
||||||
all: copy
|
all: copy
|
||||||
make html
|
make html 2>&1 | \
|
||||||
|
grep -v 'WARNING: Could not lex literal_block as "perl". Highlighting skipped.'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
true dummy
|
true dummy
|
||||||
|
|
|
@ -105,6 +105,26 @@ html_static_path = ['_static']
|
||||||
#
|
#
|
||||||
# html_sidebars = {}
|
# 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 ---------------------------------------------
|
# -- Options for HTMLHelp output ---------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Welcome to GNU Parallel's documentation!
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 3
|
||||||
:caption: parallel
|
:caption: parallel
|
||||||
|
|
||||||
parallel
|
parallel
|
||||||
|
|
|
@ -965,8 +965,8 @@ par_sem_quote
|
||||||
par_shellcompletion ### --shellcompletion
|
par_shellcompletion ### --shellcompletion
|
||||||
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
|
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
|
||||||
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
|
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
|
||||||
par_shellcompletion 01947895bda95d99e1b8948a31b1c1f7 -
|
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
|
||||||
par_shellcompletion 01947895bda95d99e1b8948a31b1c1f7 -
|
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
|
||||||
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
|
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 This should take a few ms, but took more than 2 hours
|
||||||
par_slow_pipe_regexp 0 1 1
|
par_slow_pipe_regexp 0 1 1
|
||||||
|
|
|
@ -600,7 +600,7 @@ par_load_from_PARALLEL ### Test reading load from PARALLEL
|
||||||
par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
|
par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
|
||||||
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 ### 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_long_line_remote 6 50 250050
|
||||||
par_maxlinelen_X_I ### Test max line length -X -I
|
par_maxlinelen_X_I ### Test max line length -X -I
|
||||||
par_maxlinelen_X_I a98747678a5d18c4470a073812437ab2 -
|
par_maxlinelen_X_I a98747678a5d18c4470a073812437ab2 -
|
||||||
|
|
Loading…
Reference in a new issue