mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-24 23:17:55 +00:00
parallel: --results test.csv bug incl. testing.
This commit is contained in:
parent
a050662275
commit
94ac9fd72c
|
@ -199,7 +199,7 @@ to:parallel@gnu.org, bug-parallel@gnu.org
|
|||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
|
||||
Subject: GNU Parallel 20180522 ('Korea') released <<[stable]>>
|
||||
Subject: GNU Parallel 20180522 ('Korea/The Great March of Return') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20180522 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
|
||||
|
@ -210,6 +210,13 @@ Quote of the month:
|
|||
<<>>
|
||||
|
||||
New in this release:
|
||||
https://comquest.in/training
|
||||
https://bash-prompt.net/guides/parallell-bash/
|
||||
https://blog.uta.edu/xus/2017/09/29/an-easy-way-to-run-parallel-jobs-on-stampede2/
|
||||
|
||||
https://opensource.com/article/18/5/gnu-parallel
|
||||
https://blog.desdelinux.net/gnu-parallel-haz-mas-cosas-simultaneamente-en-el-terminal/
|
||||
https://www.sans.org/summit-archives/file/summit-archive-1524582079.pdf
|
||||
|
||||
「今日から使い切る」ための GNU Parallelによる並列処理入門
|
||||
|
||||
|
|
|
@ -1876,7 +1876,7 @@ sub open_csv {
|
|||
::die_bug("Can't >/dev/null in csv: $!");
|
||||
$Global::fd{1} = $fd;
|
||||
$Global::fd{2} = $fd;
|
||||
} elsif($Global::csv) {
|
||||
} elsif($Global::csvsep) {
|
||||
if(not open($Global::csv_fh,">",$opt::results)) {
|
||||
::error("Cannot open results file `$opt::results': ".
|
||||
"$!.");
|
||||
|
|
|
@ -52,11 +52,15 @@ often be used as a substitute for B<xargs> or B<cat | bash>.
|
|||
|
||||
=head2 Reader's guide
|
||||
|
||||
Start by watching the intro videos for a quick introduction:
|
||||
If you prefer reading a book buy B<GNU Parallel 2018> at
|
||||
http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
|
||||
or download it at: https://doi.org/10.5281/zenodo.1146014
|
||||
|
||||
Otherwise start by watching the intro videos for a quick introduction:
|
||||
http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
|
||||
|
||||
Then look at the B<EXAMPLE>s after the list of B<OPTIONS> (Use
|
||||
B<LESS=+/EXAMPLE\: man parallel>). That will give you an idea of what
|
||||
B<LESS=+/EXAMPLE: man parallel>). That will give you an idea of what
|
||||
GNU B<parallel> is capable of.
|
||||
|
||||
Then spend an hour walking through the tutorial (B<man
|
||||
|
@ -1513,10 +1517,11 @@ Default: config
|
|||
|
||||
=item B<-q>
|
||||
|
||||
Quote I<command>. This will quote the command line so special
|
||||
characters are not interpreted by the shell. See the section
|
||||
QUOTING. Most people will never need this. Quoting is disabled by
|
||||
default.
|
||||
Quote I<command>. The command must be a simple command (see B<man
|
||||
bash>) without redirections and without variable assignments. This
|
||||
will quote the command line and arguments so special characters are
|
||||
not interpreted by the shell. See the section QUOTING. Most people
|
||||
will never need this. Quoting is disabled by default.
|
||||
|
||||
|
||||
=item B<--no-run-if-empty>
|
||||
|
@ -4323,7 +4328,8 @@ using -q:
|
|||
|
||||
Prints: B<test $VAR>
|
||||
|
||||
This is particularly useful if you have lots of quoting. If you want to run a perl script like this:
|
||||
This is particularly useful if you have lots of quoting. If you want
|
||||
to run a perl script like this:
|
||||
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' file
|
||||
|
||||
|
@ -4351,6 +4357,7 @@ If you get errors like:
|
|||
sh: Syntax error: Unterminated quoted string
|
||||
sh: -c: line 0: unexpected EOF while looking for matching `''
|
||||
sh: -c: line 1: syntax error: unexpected end of file
|
||||
zsh:1: no matches found:
|
||||
|
||||
then you might try using B<-q>.
|
||||
|
||||
|
|
|
@ -840,6 +840,25 @@ B<--sqlmaster> be the part that shuffles the jobs. The B<--sqlworker>s
|
|||
simply executes according to Seq number.
|
||||
|
||||
|
||||
=head --csv
|
||||
|
||||
B<--pipepart> is incompatible with B<--csv> because you can have
|
||||
records like:
|
||||
|
||||
a,b,c
|
||||
a,"
|
||||
a,b,c
|
||||
a,b,c
|
||||
a,b,c
|
||||
",c
|
||||
a,b,c
|
||||
|
||||
Here the second record contains a multi-line field that looks like
|
||||
records. Since B<--pipepart> does not read then whole file when
|
||||
searching for record endings, it may start reading in this multi-line
|
||||
field, which would be wrong.
|
||||
|
||||
|
||||
=head2 Buffering on disk
|
||||
|
||||
GNU B<parallel> buffers output, because if output is not buffered you
|
||||
|
|
|
@ -13,7 +13,7 @@ Start by watching the intro videos for a quick introduction:
|
|||
http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
|
||||
|
||||
Then look at the B<EXAMPLE>s after the list of B<OPTIONS> in B<man
|
||||
parallel> (Use B<LESS=+/EXAMPLE\: man parallel>). That will give you
|
||||
parallel> (Use B<LESS=+/EXAMPLE: man parallel>). That will give you
|
||||
an idea of what GNU B<parallel> is capable of.
|
||||
|
||||
Then spend a couple of hours walking through this tutorial (B<man
|
||||
|
|
|
@ -772,14 +772,16 @@ par_csv_pipe() {
|
|||
print join",", map {"\"$_\n$_\""} $b*1000..$b*1000+1000;
|
||||
print "\n"
|
||||
}' |
|
||||
stdout parallel --pipe --csv -k --block 10k tail -n1
|
||||
stdout parallel --pipe --csv -k --block 10k tail -n1 |
|
||||
sort -n
|
||||
|
||||
echo 'More records in single block'
|
||||
perl -e 'for $b(1..10) {
|
||||
print join",", map {"\"$_\n$_\""} $b*1000..$b*1000+1000;
|
||||
print "\n"
|
||||
}' |
|
||||
stdout parallel --pipe --csv -k --block 100k tail -n1
|
||||
stdout parallel --pipe --csv -k --block 100k tail -n1 |
|
||||
sort -n
|
||||
}
|
||||
|
||||
par_slow_pipe_regexp() {
|
||||
|
@ -789,6 +791,12 @@ par_slow_pipe_regexp() {
|
|||
timeout -k 1 60 parallel -N1000 --regexp --pipe --recstart 4 --recend 5 -k wc
|
||||
}
|
||||
|
||||
par_results() {
|
||||
echo "### --results test.csv"
|
||||
parallel -k --results /tmp/$$.csv echo ::: a b c
|
||||
rm /tmp/$$.csv
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort |
|
||||
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'
|
||||
|
|
|
@ -7,6 +7,12 @@ test -d "parallel-00000000" || mkdir "parallel-00000000"
|
|||
(cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \
|
||||
am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
|
||||
make[0]: Entering directory '~/privat/parallel/src'
|
||||
pod2man --release='00000000' --center='parallel' \
|
||||
--section=7 ./parallel_design.pod > ./parallel_design.7n \
|
||||
&& mv ./parallel_design.7n ./parallel_design.7 \
|
||||
|| echo "Warning: pod2man not found. Using old parallel_design.7"
|
||||
/bin/bash: pod2man: command not found
|
||||
Warning: pod2man not found. Using old parallel_design.7
|
||||
make[0]: Leaving directory '~/privat/parallel/src'
|
||||
test -n "" \
|
||||
|| find "parallel-00000000" -type d ! -perm -755 \
|
||||
|
|
|
@ -1369,6 +1369,7 @@ par_csv 2"x3" board-Value with ,-Column 3
|
|||
par_csv_pipe Only pass full records to tail
|
||||
par_csv_pipe Too small block size
|
||||
par_csv_pipe parallel: Warning: A record was longer than 10000. Increasing to --blocksize 13001.
|
||||
par_csv_pipe parallel: Warning: A record was longer than 13001. Increasing to --blocksize 16903.
|
||||
par_csv_pipe 2000"
|
||||
par_csv_pipe 3000"
|
||||
par_csv_pipe 4000"
|
||||
|
@ -1377,7 +1378,6 @@ par_csv_pipe 6000"
|
|||
par_csv_pipe 7000"
|
||||
par_csv_pipe 8000"
|
||||
par_csv_pipe 9000"
|
||||
par_csv_pipe parallel: Warning: A record was longer than 13001. Increasing to --blocksize 16903.
|
||||
par_csv_pipe 10000"
|
||||
par_csv_pipe 11000"
|
||||
par_csv_pipe More records in single block
|
||||
|
@ -1527,6 +1527,10 @@ par_pipepart_recend_recstart 8
|
|||
par_pipepart_recend_recstart 9
|
||||
par_pipepart_recend_recstart 10
|
||||
par_python_children ### bug #49970: Python child process dies if --env is used
|
||||
par_results ### --results test.csv
|
||||
par_results a
|
||||
par_results b
|
||||
par_results c
|
||||
par_retries_replacement_string 11
|
||||
par_retries_replacement_string 22
|
||||
par_retries_replacement_string 22
|
||||
|
|
Loading…
Reference in a new issue