parallel: --match from bug #64819: Regexp capture groups.

This commit is contained in:
Ole Tange 2024-08-04 10:47:04 +02:00
parent 67cfb6b79f
commit 05ec7b93f4
36 changed files with 1142 additions and 547 deletions

17
NEWS
View file

@ -1,3 +1,14 @@
20240822
New in this release:
* --match Match input source with regexp to set replacement fields.
* {:%fmt} Use printf formatting of replacement strings.
<<>>
20240722 20240722
New in this release: New in this release:
@ -32,9 +43,11 @@ New in this release:
News about GNU Parallel: News about GNU Parallel:
* Howto - Parallel: lanciare comandi in simultanea https://github.com/linuxhubit/linuxhub.it/blob/main/_posts/2024-06-14-howto-parallel-per-lanciare-comandi-in-simultanea.md * Howto - Parallel: lanciare comandi in simultanea
https://github.com/linuxhubit/linuxhub.it/blob/main/_posts/2024-06-14-howto-parallel-per-lanciare-comandi-in-simultanea.md
* Implementing Concurrency in Shell Scripts https://dev.to/siddhantkcode/implementing-concurrency-in-shell-scripts-521o * Implementing Concurrency in Shell Scripts
https://dev.to/siddhantkcode/implementing-concurrency-in-shell-scripts-521o
20240522 20240522

View file

@ -4,6 +4,10 @@
Quote of the month: Quote of the month:
honestly the coolest software i've ever seen gotta be gnu parallel or
ffmpeg, nothing like them
-- @scootykins scoot
Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts. Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts.
-- @mechanicker@twitter Dhruva -- @mechanicker@twitter Dhruva

View file

@ -268,7 +268,7 @@ 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 20240822 ('Southport/<<>>') released <<[stable]>> Subject: GNU Parallel 20240822 ('Bangladesh/Southport/<<>>') released <<[stable]>>
GNU Parallel 20240822 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20240822 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
@ -278,13 +278,18 @@ Quote of the month:
New in this release: New in this release:
* A format string can be added to replacement strings: {#:%04d}
<<>> <<>>
<<* No new features. This is a candidate for a stable release.>> <<* No new features. This is a candidate for a stable release.>>
* Bug fixes and man page updates. * Bug fixes and man page updates.
News about GNU Parallel: News about GNU Parallel:
https://www.linkedin.com/pulse/powerful-gnu-parallel-more-than-loop-zhenguo-zhang-18dxc
https://contentbase.com/blog/increase-file-transfer-speed-parallel-rsync/ https://contentbase.com/blog/increase-file-transfer-speed-parallel-rsync/
https://bytefreaks.net/2024/07/27 https://bytefreaks.net/2024/07/27

View file

@ -65,7 +65,11 @@ sub set_input_source_header($$) {
@opt::filter) { @opt::filter) {
# Skip if undefined # Skip if undefined
$_ or next; $_ or next;
s:\{$s(|/|//|\.|/\.)\}:\{$id$1\}:g; s<\{$s(
(\.\d+)? # Sub position = {3.2}
(|/|//|\.|/\.) # Known replacement strings
(:%.*?)? # Formatting
)\}><\{$id$1\}>gx;
# {=header1 ... =} => {=1 ... =} # {=header1 ... =} => {=1 ... =}
s:$left $s (.*?) $right:$l$id$1$r:gx; s:$left $s (.*?) $right:$l$id$1$r:gx;
} }
@ -2039,6 +2043,7 @@ sub options_completion_hash() {
"[Use at most max-args arguments per command line]:max-args" "[Use at most max-args arguments per command line]:max-args"
=> \$opt::max_replace_args), => \$opt::max_replace_args),
"col-sep|colsep|C=s[Column separator]:regexp" => \$opt::colsep, "col-sep|colsep|C=s[Column separator]:regexp" => \$opt::colsep,
"match=s[Matching regexp]:regexp" => \@opt::match,
"csv[Treat input as CSV-format]"=> \$opt::csv, "csv[Treat input as CSV-format]"=> \$opt::csv,
("help|h[Print a summary of the options to GNU parallel and exit]" ("help|h[Print a summary of the options to GNU parallel and exit]"
=> \$opt::help), => \$opt::help),
@ -2793,7 +2798,7 @@ sub check_invalid_option_combinations() {
sub init_globals() { sub init_globals() {
# Defaults: # Defaults:
$Global::version = 20240723; $Global::version = 20240808;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$::name = "GNU Parallel"; $::name = "GNU Parallel";
$Global::infinity = 2**31; $Global::infinity = 2**31;
@ -13358,21 +13363,35 @@ sub new($) {
# #
# Replace $$1 in {= perl expr =} with groupings in shorthand string # Replace $$1 in {= perl expr =} with groupings in shorthand string
# #
# parallel --rpl '{/(\.\S+)/(\.\S+)} s/$$1/$$2_REPLACE/g;' echo {/.gz/.lz} ::: UU.tar.gz # parallel --rpl '{/(\.\S+)/(\.\S+)} s/$$1/$$2_REPLACE/g;' \
# echo {/.gz/.lz} ::: UU.tar.gz
# #
# {/.gz/.lz} => # {/.gz/.lz} =>
# \177< $_pAr_gRp1 = ".gz";$_pAr_gRp2 = ".lz";s/${_pAr_gRp1}/${_pAr_gRp2}_REPLACE/g; \177> # \177<
# $_pAr_gRp1 = ".gz";
# $_pAr_gRp2 = ".lz";
# s/${_pAr_gRp1}/${_pAr_gRp2}_REPLACE/g;
# \177>
# {/.gz/.lz:%8.2s} => # {/.gz/.lz:%8.2s} =>
# \177< $_pAr_gRp1 = ".gz";$_pAr_gRp2 = ".lz";s/${_pAr_gRp1}/${_pAr_gRp2}_REPLACE/g;; $_ = sprintf("%8.2f",$_); \177> # \177<
# $_pAr_gRp1 = ".gz";
# $_pAr_gRp2 = ".lz";
# s/${_pAr_gRp1}/${_pAr_gRp2}_REPLACE/g;;
# $_ = sprintf("%8.2f",$_);
# \177>
# #
sub replacer_format { sub replacer_rpl {
my $rpl = shift; my $rpl = shift;
my $rv = $Global::rpl{$rpl};
return replacer($rv,@_);
}
sub replacer {
my $rv = shift;
my $unchanged = shift; my $unchanged = shift;
my $position = shift; my $position = shift;
my $grp_regexp = shift; my $grp_regexp = shift;
my $grp_string = shift; my $grp_string = shift;
my $formatstring = shift; my $formatstring = shift;
$grp_string =~ /^${grp_regexp}$/ or $grp_string =~ /^${grp_regexp}$/ or
::die_bug("Match failed: '$grp_regexp' on $grp_string"); ::die_bug("Match failed: '$grp_regexp' on $grp_string");
# Dummy entry to start $grp[n] at 1. # Dummy entry to start $grp[n] at 1.
@ -13384,10 +13403,9 @@ sub new($) {
push @grp, eval '$'.$i; push @grp, eval '$'.$i;
} }
} }
my $rv = $Global::rpl{$rpl}; # replace $$1 with ${_pAr_gRp1}, $$2 with ${_pAr_gRp2}
# replace $$1 with $_pAr_gRp1, $$2 with $_pAr_gRp2
# in the code to be executed # in the code to be executed
$rv =~ s/\$\$ (\d+)/\$_pAr_gRp$1/gx; $rv =~ s/\$\$ (\d+)/\$\{_pAr_gRp$1\}/gx;
# prepend with $_pAr_gRp1 = perlquote($1), # prepend with $_pAr_gRp1 = perlquote($1),
my $set_args = ""; my $set_args = "";
for(my $i = 1;defined $grp[$i]; $i++) { for(my $i = 1;defined $grp[$i]; $i++) {
@ -13400,17 +13418,32 @@ sub new($) {
if(length $formatstring > 0) { if(length $formatstring > 0) {
$formatcode = ";\$_ = sprintf('$formatstring',\$_);"; $formatcode = ";\$_ = sprintf('$formatstring',\$_);";
} }
::debug("rpl","match: $rpl ¤ $unchanged ¤ $position ¤ ". if($position =~ s/\.(\d+)//) {
"$grp_regexp ¤ $formatstring\n"); # {2.3} => There must be a corresponding --match
my $field = $1;
my $re = $opt::match[$position-1];
if($re=~/^\+(\d+)/) {
# multiple --match: Reuse --match $1
$re = $opt::match[$1-1];
}
if(not defined $re) {
::error("{$position.$field} requires ".
"corresponding --match");
::wait_and_exit(255);
}
if($re =~ /\001/) {
::error("\\001 is not supported in --match");
::wait_and_exit(255);
}
$rv = "m\001$re\001 or ".
"::warning(\"'\$_' did not match '$re'\"); ".
"\$_ = \$$field; $rv";
}
::debug("rpl","match: $rv ¤ $unchanged ¤ $position ¤ ".
"$set_args ¤ $rv ¤ $grp_regexp ¤ $formatstring\n");
return($unchanged . "\177<" . $position . $set_args . return($unchanged . "\177<" . $position . $set_args .
$rv . $formatcode. "\177>"); $rv . $formatcode. "\177>");
} }
sub replacer_no_format {
replacer_format(@_);
}
sub replacer {
replacer_format(@_);
}
if($rpl =~ /^\{/) { if($rpl =~ /^\{/) {
my ($prefix,$grp_regexp,$postfix) = my ($prefix,$grp_regexp,$postfix) =
# Ignore { and } # Ignore { and }
@ -13421,39 +13454,40 @@ sub new($) {
\} $ # } \} $ # }
/xs; /xs;
my $format_regexp = ":%.*?"; my $format_regexp = ":%.*?";
q { q{
# Regexp using named captures - kept for documentation # Regexp using named captures - kept for documentation
# It is easier to understand than the backward compatible version # It is easier to understand than the backward compatible version
# Look for: { position prefix group format postfix } # Look for: { position prefix group format postfix }
while($s =~ while($s =~
s{(?<unchanged> (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?) s{(?<unchanged> (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?)
\{ \{
(?<position> -?\d+)? (?<position> -?\d+(?:\.\d+)? \s*)?
\Q$prefix\E \s* \Q$prefix\E
(?<grp>$grp_regexp) (?<grp>$grp_regexp)
\Q$postfix\E \Q$postfix\E
(?<format> $format_regexp) (?<format> $format_regexp)
\} \}
} }
{ {
replacer_format($rpl, $+{unchanged}, $+{position}, replacer_rpl($rpl, $+{unchanged},
$grp_regexp, $+{grp}, $+{format}); $+{position}, $grp_regexp,
}gsex){}; $+{grp}, $+{format});
}gsex){};
# Look for: { position prefix group postfix } # Look for: { position prefix group postfix }
while($s =~ while($s =~
s{(?<unchanged> (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?) s{(?<unchanged> (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?)
\{ \{
(?<position> -?\d+)? (?<position> -?\d+(?:\.\d+)? \s*)?
\Q$prefix\E \s* \Q$prefix\E
(?<grp>$grp_regexp) (?<grp>$grp_regexp)
\Q$postfix\E \Q$postfix\E
\} \}
} }
{ {
replacer_no_format($rpl, $+{unchanged}, replacer_rpl($rpl, $+{unchanged},
$+{position}, $grp_regexp, $+{position}, $grp_regexp,
$+{grp}); $+{grp});
}gsex){} }gsex){}
}; };
{ {
# This a rewrite of the above to perl 5.8 # This a rewrite of the above to perl 5.8
@ -13462,30 +13496,29 @@ sub new($) {
while($s =~ while($s =~
s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?) s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?)
\{ \{
(-?\d+)? (-?\d+(?:\.\d+)? \s*)?
\Q$prefix\E \s* \Q$prefix\E
($grp_regexp) ($grp_regexp)
\Q$postfix\E \Q$postfix\E
($format_regexp) ($format_regexp)
\} \}
} }
{ {
replacer_format($rpl, $1, $2, replacer_rpl($rpl, $1, $2, $grp_regexp, $3, $+);
$grp_regexp, $3, $+);
}gsex){} }gsex){}
# Look for: { position prefix group postfix } # Look for: { position prefix group postfix }
# (Same above - except "format")
while($s =~ while($s =~
s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?) s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*?)
\{ \{
(-?\d+)? (-?\d+(?:\.\d+)? \s*)?
\Q$prefix\E \s* \Q$prefix\E
($grp_regexp) ($grp_regexp)
\Q$postfix\E \Q$postfix\E
\} \}
} }
{ {
replacer_no_format($rpl, $1, $2, replacer_rpl($rpl, $1, $2, $grp_regexp, $3);
$grp_regexp, $3);
}gsex){} }gsex){}
} }
} else { } else {
@ -13505,8 +13538,8 @@ sub new($) {
\Q$postfix\E \Q$postfix\E
} }
{ {
replacer($rpl, $+{unchanged}, $+{position}, replacer_rpl($rpl, $+{unchanged}, $+{position},
$grp_regexp, $+{grp}); $grp_regexp, $+{grp});
}gsex){}; }gsex){};
}; };
{ {
@ -13520,10 +13553,20 @@ sub new($) {
($grp_regexp) ($grp_regexp)
\Q$postfix\E \Q$postfix\E
} }
{ replacer($rpl, $1, $2, $grp_regexp, $3); }gsex){}; {
replacer_rpl($rpl, $1, $2, $grp_regexp, $3);
}gsex){};
} }
} }
} }
# Perl positional replacement fields {=1.2 perlexpr =}
while($s =~
s{ \177< # {=
(-?\d+(?:\.\d+)\s*) # position
(([^\177]+|\177\177)*) # perl expr
\177> # =}
}
{ replacer($2, '', $1,''); }gsex){};
return $s; return $s;
} }
@ -13564,6 +13607,7 @@ sub new($) {
# Replace rpl-definitions with the corresponding perl code # Replace rpl-definitions with the corresponding perl code
$_ = replace_rpl_def($_); $_ = replace_rpl_def($_);
} }
# Add {} if no replacement strings in @command # Add {} if no replacement strings in @command
($replacecount_ref, $len_ref, @command) = ($replacecount_ref, $len_ref, @command) =
replacement_counts_and_lengths($transfer_files, $return_files, replacement_counts_and_lengths($transfer_files, $return_files,

View file

@ -134,7 +134,7 @@ B<Bash, Csh, or Tcsh aliases>: Use B<env_parallel>.
B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>. B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
=item B<{}> =item B<{}> (alpha testing)
Input line. Input line.
@ -155,7 +155,7 @@ See also: B<--plus> B<{.}> B<{/}> B<{//}> B<{/.}> B<{#}> B<{%}>
B<{>I<n>B<}> B<{=>I<perl expression>B<=}> B<{>I<n>B<}> B<{=>I<perl expression>B<=}>
=item B<{.}> =item B<{.}> (alpha testing)
Input line without extension. Input line without extension.
@ -173,7 +173,7 @@ The replacement string B<{.}> can be changed with B<--extensionreplace>
See also: B<{}> B<--extensionreplace> See also: B<{}> B<--extensionreplace>
=item B<{/}> =item B<{/}> (alpha testing)
Basename of input line. Basename of input line.
@ -183,7 +183,7 @@ directory part removed.
See also: B<{}> B<--basenamereplace> See also: B<{}> B<--basenamereplace>
=item B<{//}> =item B<{//}> (alpha testing)
Dirname of input line. Dirname of input line.
@ -193,7 +193,7 @@ line. See B<dirname>(1).
See also: B<{}> B<--dirnamereplace> See also: B<{}> B<--dirnamereplace>
=item B<{/.}> =item B<{/.}> (alpha testing)
Basename of input line without extension. Basename of input line without extension.
@ -204,7 +204,7 @@ B<{/}> and B<{.}>.
See also: B<{}> B<--basenameextensionreplace> See also: B<{}> B<--basenameextensionreplace>
=item B<{#}> =item B<{#}> (alpha testing)
Sequence number of the job to run. Sequence number of the job to run.
@ -214,7 +214,7 @@ job being run. It contains the same number as $PARALLEL_SEQ.
See also: B<{}> B<--seqreplace> See also: B<{}> B<--seqreplace>
=item B<{%}> =item B<{%}> (alpha testing)
Job slot number. Job slot number.
@ -249,7 +249,7 @@ Notice how {%} and $PARALLEL_JOBSLOT differ in the retry run of C and D.
See also: B<{}> B<--jobs> B<--slotreplace> See also: B<{}> B<--jobs> B<--slotreplace>
=item B<{>I<n>B<}> =item B<{>I<n>B<}> (alpha testing)
Argument from input source I<n> or the I<n>'th argument. Argument from input source I<n> or the I<n>'th argument.
@ -263,7 +263,7 @@ See also: B<{}> B<{>I<n>.B<}> B<{>I<n>/B<}> B<{>I<n>//B<}>
B<{>I<n>/.B<}> B<--colsep> B<{>I<n>/.B<}> B<--colsep>
=item B<{>I<n>.B<}> =item B<{>I<n>.B<}> (alpha testing)
Argument from input source I<n> or the I<n>'th argument without Argument from input source I<n> or the I<n>'th argument without
extension. extension.
@ -278,7 +278,7 @@ extension removed.
See also: B<{>I<n>B<}> B<{.}> See also: B<{>I<n>B<}> B<{.}>
=item B<{>I<n>/B<}> =item B<{>I<n>/B<}> (alpha testing)
Basename of argument from input source I<n> or the I<n>'th argument. Basename of argument from input source I<n> or the I<n>'th argument.
@ -292,7 +292,7 @@ directory (if any) removed.
See also: B<{>I<n>B<}> B<{/}> See also: B<{>I<n>B<}> B<{/}>
=item B<{>I<n>//B<}> =item B<{>I<n>//B<}> (alpha testing)
Dirname of argument from input source I<n> or the I<n>'th argument. Dirname of argument from input source I<n> or the I<n>'th argument.
@ -305,7 +305,7 @@ the I<n>'th argument (when used with B<-N>). See B<dirname>(1).
See also: B<{>I<n>B<}> B<{//}> See also: B<{>I<n>B<}> B<{//}>
=item B<{>I<n>/.B<}> =item B<{>I<n>/.B<}> (alpha testing)
Basename of argument from input source I<n> or the I<n>'th argument Basename of argument from input source I<n> or the I<n>'th argument
without extension. without extension.
@ -321,7 +321,7 @@ directory (if any) and extension removed.
See also: B<{>I<n>B<}> B<{/.}> See also: B<{>I<n>B<}> B<{/.}>
=item B<{=>I<perl expression>B<=}> =item B<{=>I<perl expression>B<=}> (alpha testing)
Replace with calculated I<perl expression>. Replace with calculated I<perl expression>.
@ -438,7 +438,7 @@ See also: B<--rpl> B<--parens> B<{}> B<{=>I<n> I<perl expression>B<=}>
B<--filter> B<--filter>
=item B<{=>I<n> I<perl expression>B<=}> =item B<{=>I<n> I<perl expression>B<=}> (alpha testing)
Positional equivalent to B<{=>I<perl expression>B<=}>. Positional equivalent to B<{=>I<perl expression>B<=}>.
@ -447,7 +447,7 @@ To understand positional replacement strings see B<{>I<n>B<}>.
See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}> See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}>
=item B{I<rpl>:I<format>} (alpha testing) =item B<{>I<rpl>:I<format>B<}> (alpha testing)
Format replacement string. Format replacement string.
@ -1796,6 +1796,34 @@ If in doubt use B<-X> as that will most likely do what is needed.
See also: B<-X> B<--xargs> See also: B<-X> B<--xargs>
=item B<--match> I<regexp> (alpha testing)
Match input source with regexp to set replacement fields.
Each capture group i.e. '(...)' can be accessed with a replacement
field. The replacement fields are named B<{m.n}> where m is the input
source and n is the capture group number:
parallel --match '(.*),(.*)_(.*)' echo {1.2} {1.3} {1.1} \
::: Gold,Heart_of
parallel --match '(.*),' --match '([a-z]+)' echo {1.1}{2.1} \
::: Milli,bar ::: 10ways
To reuse a B<--match> simply use B<+n> where n is the input
source. E.g. B<+2> for the second:
parallel --match +2 --match '([A-Za-z]+)' echo {1.1} {2.1} \
::: /Improbability/ ::: 10drive
To only set B<--match> for input source 2, make a dummy B<--match> for
input source 1:
parallel --match '' --match '([a-z]+)' echo {1} {2.1} \
::: Telephone ::: 10sanitizer
See also: B<{>I<n>B<}>
=item B<--memfree> I<size> =item B<--memfree> I<size>
Minimum memory free when starting another job. Minimum memory free when starting another job.
@ -2759,10 +2787,10 @@ the replacement string and adding a regular expression between the
parenthesis. The matching string will be inserted as $$1: parenthesis. The matching string will be inserted as $$1:
parallel --rpl '{%(.*?)} s/$$1//' echo {%.tar.gz} ::: my.tar.gz parallel --rpl '{%(.*?)} s/$$1//' echo {%.tar.gz} ::: my.tar.gz
parallel --rpl '{:%(.+?)} s:$$1(\.[^/]+)*$::' \ parallel --rpl '{:+(.+?)} s:$$1(\.[^/]+)*$::' \
echo {:%_file} ::: my_file.tar.gz echo {:+_file} ::: my_file.tar.gz
parallel -n3 --rpl '{/:%(.*?)} s:.*/(.*)$$1(\.[^/]+)*$:$1:' \ parallel -n3 --rpl '{/:+(.*?)} s:.*/(.*)$$1(\.[^/]+)*$:$1:' \
echo job {#}: {2} {2.} {3/:%_1} ::: a/b.c c/d.e f/g_1.h.i echo job {#}: {2} {2.} {3/:+_1} ::: a/b.c c/d.e f/g_1.h.i
You can even use multiple matches: You can even use multiple matches:

View file

@ -178,6 +178,7 @@ You have a bunch of file. You want them sorted into dirs. The dir of
each file should be named the first letter of the file name. each file should be named the first letter of the file name.
parallel 'mkdir -p {=s/(.).*/$1/=}; mv {} {=s/(.).*/$1/=}' ::: * parallel 'mkdir -p {=s/(.).*/$1/=}; mv {} {=s/(.).*/$1/=}' ::: *
parallel --match '(.)' 'mkdir -p {1.1} && mv {} {1.1}' ::: *
=head2 EXAMPLE: Composed command with multiple input sources =head2 EXAMPLE: Composed command with multiple input sources
@ -189,6 +190,57 @@ You have a dir with files named as 24 hours in 5 minute intervals:
::: {00..23} ::: {00..55..5} ::: {00..23} ::: {00..55..5}
=head2 EXAMPLE: Match parts of input source
Match first initial and last name:
parallel --match '(.).* (.*)' echo {1.1}. {1.2} \
::: "Arthur Dent" "Ford Prefect" "Tricia McMillan" "Zaphod Beeblebrox"
Re-arrange (stupid) US date format into (nice) ISO-8601:
parallel --match '(.*)/(.*)/(.*)' echo {1.3}-{1.1}-{1.2} \
::: 12/31/1969 01/19/2038 06/01/2002
Match url into domain and path:
parallel --match 'https://(.*?)/(.*)' echo Domain: {1.1} Path: {1.2} \
::: https://example.com/dir/page https://gnu.org/s/parallel
Match host:port from a log file:
cat log |
parallel --match '\b([a-z0-9.]+):(\d+)\b' echo host:{1.1} port:{1.2}
Reorder comma-separated values:
parallel --match '(.*),(.*)' echo Second: {1.2}, First: {1.1} \
::: "Arthur,Babel fish" "Adams,Betelgeuse" "Arcturan,Bistro"
Capitalize word:
parallel --match '([a-z])([a-z]*) ([a-z])([a-z]*)' \
echo '{=1.1 $_=uc($_) =}{1.2} {=1.3 $_=uc($_) =}{1.4}' \
::: "pan galactic" "gargle blaster"
Make an international dialing prefix table:
dial=(
"DK(Denmark) 00,45"
"US(United States) 011,1"
"JP(Japan) 010,81"
"AU(Australia) 0011,61"
"CA(Canada) 011,1"
"RU(Russia) 810,7"
"TH(Thailand) 001,66"
"TW(Taiwan) 002,886"
)
parallel --match '(.*)\((.*)\) (.*),(.*)' --match +1 \
echo From {1.1}/{1.2} to {2.1}/{2.2} dial {1.3}-{2.4} \
::: "${dial[@]}" ::: "${dial[@]}"
Note how input source 2 reuses the B<--match> from input source 1.
=head2 EXAMPLE: Calling Bash functions =head2 EXAMPLE: Calling Bash functions
If the composed command is longer than a line, it becomes hard to If the composed command is longer than a line, it becomes hard to
@ -446,7 +498,7 @@ and the rest a ' ' a perl expression is used to look at the 3rd input
source. If the value modulo 2 is 1: Use ":" otherwise use " ": source. If the value modulo 2 is 1: Use ":" otherwise use " ":
parallel -k echo {1}'{=3 $_=$_%2?":":" "=}'{2}{3} \ parallel -k echo {1}'{=3 $_=$_%2?":":" "=}'{2}{3} \
::: {0..12} ::: {0..5} ::: {0..9} ::: {0..23} ::: {0..5} ::: {0..9}
=head2 EXAMPLE: Aggregating content of files =head2 EXAMPLE: Aggregating content of files

View file

@ -504,8 +504,9 @@ lsh_setup() {
mkdir -p .lsh mkdir -p .lsh
rm -f ".lsh/yarrow-seed-file" rm -f ".lsh/yarrow-seed-file"
lsh-make-seed -o ".lsh/yarrow-seed-file" lsh-make-seed -o ".lsh/yarrow-seed-file"
lsh -c aes256-ctr --sloppy-host-authentication \ # TODO need to enter 'y' here
--capture-to ~/.lsh/host-acls -l $user server echo Added host-auth lsh --sloppy-host-authentication \
--capture-to ~/.lsh/host-acls -l $user $server echo Added host-auth
rm -f .lsh/identity .lsh/identity.pub rm -f .lsh/identity .lsh/identity.pub
lsh-keygen | lsh-writekey -c none lsh-keygen | lsh-writekey -c none
export_key_to_local_users() { export_key_to_local_users() {

View file

@ -74,7 +74,6 @@ start_centos3
ssh $SSHLOGIN1 cat .ssh/id_rsa.pub | ssh $SSHLOGIN2 'cat >>.ssh/authorized_keys' ssh $SSHLOGIN1 cat .ssh/id_rsa.pub | ssh $SSHLOGIN2 'cat >>.ssh/authorized_keys'
ssh $SSHLOGIN1 'cat .ssh/id_rsa.pub >>.ssh/authorized_keys; chmod 600 .ssh/authorized_keys' ssh $SSHLOGIN1 'cat .ssh/id_rsa.pub >>.ssh/authorized_keys; chmod 600 .ssh/authorized_keys'
ssh $SSHLOGIN1 'ssh -o StrictHostKeyChecking=no localhost true; ssh -o StrictHostKeyChecking=no '$SSHLOGIN2' true;' ssh $SSHLOGIN1 'ssh -o StrictHostKeyChecking=no localhost true; ssh -o StrictHostKeyChecking=no '$SSHLOGIN2' true;'
ssh $SSHLOGIN1 parallel echo {}: ssh $SSHLOGIN1 parallel ::: OK
) & ) &
. env_parallel.bash . env_parallel.bash
@ -105,3 +104,4 @@ env_parallel --env par_shellshock_bug --env LC_ALL --env SSHLOGIN2 \
-S $SSHLOGIN1 --tag '{} 2>&1' \ -S $SSHLOGIN1 --tag '{} 2>&1' \
::: $(compgen -A function | grep par_ | sort) \ ::: $(compgen -A function | grep par_ | sort) \
2> >(grep -Ev 'shopt: not found|declare: not found|No xauth data') 2> >(grep -Ev 'shopt: not found|declare: not found|No xauth data')
ssh $SSHLOGIN1 parallel echo {}: ssh $SSHLOGIN1 parallel ::: OK

View file

@ -155,13 +155,13 @@ par__environment_too_big_zsh() {
. `which env_parallel.zsh`; . `which env_parallel.zsh`;
len_var=16 len_var=16
len_var_remote=$len_var-15 len_var_remote=$len_var
len_var_quote=$len_var len_var_quote=$len_var
len_var_quote_remote=$len_var-15 len_var_quote_remote=$len_var-15
len_fun=18 len_fun=18
len_fun_remote=$len_fun-10 len_fun_remote=$len_fun-10
len_fun_quote=$len_fun len_fun_quote=$len_fun
len_fun_quote_remote=$len_fun-10 len_fun_quote_remote=$len_fun-5
repeat_() { repeat_() {
# Repeat input string n*1000 times # Repeat input string n*1000 times

View file

@ -16,6 +16,11 @@ 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_--rpl_group_bug() {
echo 'Bug in --rpl group: $$1_'
parallel --rpl '{a(.)b} s/$$1_c/o/g' echo {aDb} ::: GD_cD_cd
}
par_env_parallel_recordenv() { par_env_parallel_recordenv() {
echo 'bug #65127: env_parallel --record-env and --recordenv should do the same.' echo 'bug #65127: env_parallel --record-env and --recordenv should do the same.'
. env_parallel.bash . env_parallel.bash

View file

@ -8,7 +8,75 @@
# Each should be taking 10-30s and be possible to run in parallel # Each should be taking 10-30s and be possible to run in parallel
# I.e.: No race conditions, no logins # I.e.: No race conditions, no logins
par_tee_too_many_args() { par_--match() {
export PARALLEL=-k
echo Basic match
parallel --match '(.*)/([a-zA-Z]+)' echo {1.2} {1.1} \
::: works/This "works, too"/This
echo Simple CSV-parsing
echo https://gnu.org/s/parallel,myfile |
parallel --match '(.*),(.*)' echo url={1.1} filename={1.2}
echo Dummy --match for input source 1, real --match for input source 2
parallel --match '' --match '(.*)/([A-Z]+)' echo {2.1} {1} ::: works ::: This/SKIP
echo Reuse --match
parallel --match +2 --match '([A-Z]+)' echo {2.1} {1.1} \
::: ignoreOK ::: ignoreALL
echo With --header :
parallel --header : --match +2 --match '([A-Z]+)' echo {B.1} {A.1} \
::: A ignoreOK ::: B ignoreALL
echo Failure to match/Partial match
parallel --match '([a-z]+)' echo {1.1} ::: matches FAILS MATCHESpartly
echo Test error: missing --match
parallel --match 'dummy' echo {2.1} ::: should fail
echo 'Test error: \001 in match'
ctrl_a=$(perl -e 'printf "%c",1')
parallel --match "$ctrl_a" echo {1.1} ::: fail
echo From man parallel_examples
parallel --match '(.)' --dr 'mkdir -p {1.1} && mv {} {1.1}' ::: afile bfile adir
parallel --match '(.).* (.*)' echo {1.1}. {1.2} \
::: "Arthur Dent" "Ford Prefect" "Tricia McMillan" "Zaphod Beeblebrox"
parallel --match '(.*)/(.*)/(.*)' echo {1.3}-{1.1}-{1.2} \
::: 12/31/1969 01/19/2038 06/01/2002
parallel --match 'https://(.*?)/(.*)' echo Domain: {1.1} Path: {1.2} \
::: https://example.com/dir/page https://gnu.org/s/parallel
parallel --match '(.*),(.*)' echo Second: {1.2}, First: {1.1} \
::: "Arthur,Babel fish" "Adams,Betelgeuse" "Arcturan,Bistro"
parallel --match '([a-z])([a-z]*) ([a-z])([a-z]*)' \
echo '{=1.1 $_=uc($_) =}{1.2} {=1.3 $_=uc($_) =}{1.4}' \
::: "pan galactic" "gargle blaster"
dial=(
"DK(Denmark) 00,45"
"US(United States) 011,1"
"JP(Japan) 010,81"
"AU(Australia) 0011,61"
"CA(Canada) 011,1"
"RU(Russia) 810,7"
"TH(Thailand) 001,66"
"TW(Taiwan) 002,886"
)
parallel --match '(.*)\((.*)\) (.*),(.*)' --match +1 \
echo From {1.1}/{1.2} to {2.1}/{2.2} dial {1.3}-{2.4} \
::: "${dial[@]}" ::: "${dial[@]}"
echo Capture groups CSV-parsing - not implemented
echo https://gnu.org/s/parallel,myfile |
parallel --match '(?<url>.*),(?<file>.*)' echo url={url} filename={file}
echo Non posistional replacement fields - not implemented
parallel --match '(.*),(.*)_(.*)' echo {.2} {.3} {.1} ::: Gold,Heart_of
echo TODO Ignore case?
}
par__tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs' echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4} seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
tmp=`mktemp` tmp=`mktemp`
@ -48,7 +116,7 @@ par__load_from_PARALLEL() {
zcat | sort -n | md5sum zcat | sort -n | md5sum
} }
par_quote_special_results() { par__quote_special_results() {
echo "### Test --results on file systems with limited UTF8 support" echo "### Test --results on file systems with limited UTF8 support"
export LC_ALL=C export LC_ALL=C
doit() { doit() {
@ -217,7 +285,7 @@ par_opt_arg_eaten() {
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -i repl echo repl OK printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -i repl echo repl OK
} }
par_nice() { par__nice() {
echo 'Check that --nice works' echo 'Check that --nice works'
# parallel-20160422 OK # parallel-20160422 OK
check_for_2_bzip2s() { check_for_2_bzip2s() {
@ -342,7 +410,7 @@ par_END() {
(echo include this; echo END; echo not this) | parallel -k --eof END echo (echo include this; echo END; echo not this) | parallel -k --eof END echo
} }
par_xargs_compat() { par__xargs_compat() {
echo xargs compatibility echo xargs compatibility
a_b-c() { echo a_b; echo c; } a_b-c() { echo a_b; echo c; }
a_b_-c-d() { echo a_b' '; echo c; echo d; } a_b_-c-d() { echo a_b' '; echo c; echo d; }

View file

@ -360,7 +360,7 @@ par__test_cpu_detection_topology() {
' '
} }
cpu20() { cpu20() {
echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit)' echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)'
echo ' echo '
KLUv/QRovBQA1tU+IGBJ2wa2Edh2H/3+WsW1pqAixNFSp4VaZLdSOgQfA5ACMwA1ADcATO1J KLUv/QRovBQA1tU+IGBJ2wa2Edh2H/3+WsW1pqAixNFSp4VaZLdSOgQfA5ACMwA1ADcATO1J
9EsI6f//P65ZU+hjFfNJ/bjGHYG/E5T1fjgw67nF/3R4Jh4lRFYqGeWTyiMq/BEIRzMLcSll 9EsI6f//P65ZU+hjFfNJ/bjGHYG/E5T1fjgw67nF/3R4Jh4lRFYqGeWTyiMq/BEIRzMLcSll
@ -1024,7 +1024,7 @@ par__test_cpu_detection_cpuinfo() {
' | unpack ' | unpack
} }
cpu20() { cpu20() {
echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit)' echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)'
echo ' echo '
KLUv/QRoXSEApjqgIyBtrAMBfUS1S7lyNhBkqR+VRby1HGkcIfAfpUMCoQwIwQaLnACNAJAA KLUv/QRoXSEApjqgIyBtrAMBfUS1S7lyNhBkqR+VRby1HGkcIfAfpUMCoQwIwQaLnACNAJAA
LX4Zn3Z86/pt/rpvlN4QgwxJGnClhXdPzld527SrNxLxc8heffK1xyxR1NLZEqah89q9Q9Ze LX4Zn3Z86/pt/rpvlN4QgwxJGnClhXdPzld527SrNxLxc8heffK1xyxR1NLZEqah89q9Q9Ze
@ -1330,7 +1330,7 @@ par__test_cpu_detection_lscpu() {
' | unpack ' | unpack
} }
cpu20() { cpu20() {
echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit)' echo '1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)'
echo ' echo '
KLUv/QRoxSAACkYADCkAb7g52NOaaG9pWWVp1EK7UMah1zodCwjsgmz4tfgH/PMzcUVV1Ypq KLUv/QRoxSAACkYADCkAb7g52NOaaG9pWWVp1EK7UMah1zodCwjsgmz4tfgH/PMzcUVV1Ypq
XsoAswCsALDiYJkWExTubWeGpVgcGJDHJOIB4lGeZGEwGAIeDEcjgwMIhuIWQu3JUsEBg1HA XsoAswCsALDiYJkWExTubWeGpVgcGJDHJOIB4lGeZGEwGAIeDEcjgwMIhuIWQu3JUsEBg1HA

20
testsuite/tests-to-run/parallel-local-race02.sh Normal file → Executable file
View file

@ -6,6 +6,24 @@
# These fail regularly # These fail regularly
env_underscore() {
echo WHY DOES THIS FAIL?
echo '### --env _'
echo ignored_var >> ~/.parallel/ignored_vars
unset $(compgen -A function | grep par_)
ignored_var="ERROR IF COPIED"
export ignored_var
fUbAr="OK from fubar" parallel -S parallel@lo --env _ echo '$fUbAr $ignored_var' ::: test
echo 'In csh this may fail with ignored_var: Undefined variable.'
fUbAr="OK from fubar" parallel -S csh@lo --env _ echo '$fUbAr $ignored_var' ::: test
echo '### --env _ with explicit mentioning of normally ignored var $ignored_var'
ignored_var="should be copied"
fUbAr="OK from fubar" parallel -S parallel@lo --env ignored_var,_ echo '$fUbAr $ignored_var' ::: test
fUbAr="OK from fubar" parallel -S csh@lo --env ignored_var,_ echo '$fUbAr $ignored_var' ::: test
}
env_underscore
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'
@ -236,6 +254,6 @@ par_continuous_output() {
} }
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort | compgen -A function | G "$@" | grep par_ | sort |
# parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1' # parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
parallel -o --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1' parallel -o --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1'

View file

@ -201,7 +201,7 @@ do_dburl() {
perl -pe 's/ +/ /g' | perl -pe 's/ +/ /g' |
# SQLITE par_empty Error: near line 1: in prepare, no such table: TBL99999 (1) # SQLITE par_empty Error: near line 1: in prepare, no such table: TBL99999 (1)
# SQLITE par_empty Parse error near line 1: no such table: TBL99999 # SQLITE par_empty Parse error near line 1: no such table: TBL99999
perl -pe 's/Error: near line 1: in prepare, (.*) .../Parse error near line 1: /' perl -pe 's/Error: near line 1: in prepare, (.*)/Parse error near line 1: $1/'
} }
export -f do_dburl export -f do_dburl
parallel -vk --tag do_dburl ::: CSV INFLUX MYSQL PG SQLITE parallel -vk --tag do_dburl ::: CSV INFLUX MYSQL PG SQLITE

View file

@ -75,22 +75,6 @@ par_--nonall_results() {
rm -r "$tmp" rm -r "$tmp"
} }
par_env_underscore() {
echo '### --env _'
echo ignored_var >> ~/.parallel/ignored_vars
unset $(compgen -A function | grep par_)
ignored_var="should not be copied"
export ignored_var
fUbAr="OK FUBAR" parallel -S parallel@lo --env _ echo '$fUbAr $ignored_var' ::: test
echo 'In csh this may fail with ignored_var: Undefined variable.'
fUbAr="OK FUBAR" parallel -S csh@lo --env _ echo '$fUbAr $ignored_var' ::: test 2>&1
echo '### --env _ with explicit mentioning of normally ignored var $ignored_var'
ignored_var="should be copied"
fUbAr="OK FUBAR" parallel -S parallel@lo --env ignored_var,_ echo '$fUbAr $ignored_var' ::: test
fUbAr="OK FUBAR" parallel -S csh@lo --env ignored_var,_ echo '$fUbAr $ignored_var' ::: test 2>&1
}
par_warn_when_exporting_func() { par_warn_when_exporting_func() {
echo 'bug #40137: SHELL not bash: Warning when exporting funcs' echo 'bug #40137: SHELL not bash: Warning when exporting funcs'
myrun() { myrun() {

6
testsuite/tests-to-run/parallel-local-ssh9.sh Normal file → Executable file
View file

@ -157,10 +157,10 @@ par_env_parallel_big_env() {
echo '### bug #54128: command too long when exporting big env' echo '### bug #54128: command too long when exporting big env'
. env_parallel.bash . env_parallel.bash
env_parallel --session env_parallel --session
a=`rand | perl -pe 's/\0//g'| head -c 10000` a=`rand | perl -pe 's/\0//g'| head -c 40000`
env_parallel -Slo echo ::: OK 2>&1 env_parallel -Slo echo ::: OK 2>&1
a=`rand | perl -pe 's/\0//g'| head -c 20000` a=`rand | perl -pe 's/\0//g'| head -c 50000`
env_parallel -Slo echo should ::: fail 2>/dev/null || echo OK env_parallel -Slo echo THIS SHOULD ::: FAIL 2>/dev/null || echo OK
} }
par_no_route_to_host() { par_no_route_to_host() {

104
testsuite/tests-to-run/parallel-local21.sh Normal file → Executable file
View file

@ -234,6 +234,110 @@ EOF
rm "$script" rm "$script"
} }
par_shebang_wrap_groovy() {
script="$TMPDIR"/shebang_wrap_groovy
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /snap/bin/groovy
println "Arguments: ${args.join(' ')}"
EOF
chmod 755 "$script"
"$script" arg1 arg2 "arg3.1 arg3.2"
rm "$script"
}
par_shebang_wrap_racket() {
script="$TMPDIR"/shebang_wrap_racket
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /usr/bin/racket
#lang racket
;; Get the command-line arguments, skipping the script name
(define args (vector->list (current-command-line-arguments)))
;; Format the arguments as a string
(define formatted-args (string-join args " "))
;; Print the result
(printf "Arguments: ~a\n" formatted-args)
EOF
chmod 755 "$script"
"$script" arg1 arg2 "arg3.1 arg3.2"
rm "$script"
}
par_shebang_wrap_scheme() {
script="$TMPDIR"/shebang_wrap_scheme
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /usr/bin/env guile
!#
(define (print-arguments args)
(display "Arguments: ")
(for-each (lambda (arg)
(display arg)
(display " "))
args)
(newline))
(print-arguments (cdr (command-line)))
EOF
chmod 755 "$script"
stdout "$script" arg1 arg2 "arg3.1 arg3.2" |
grep -v ';;;' | grep -v shebang_wrap_sche
rm "$script"
}
par_shebang_wrap_awk() {
script="$TMPDIR"/shebang_wrap_awk
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /usr/bin/awk -f
BEGIN {
printf "Arguments: "
for (i = 1; i < ARGC; i++) {
printf "%s ", ARGV[i]
}
printf "\n"
}
EOF
chmod 755 "$script"
"$script" arg1 arg2 "arg3.1 arg3.2"
rm "$script"
}
par_shebang_wrap_fsharp() {
script="$TMPDIR"/shebang_wrap_fsharp.fsx
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /usr/bin/fsharpi
let args = (System.Environment.GetCommandLineArgs()
|> Array.tail |> Array.tail |> Array.tail)
printfn "Arguments: %A" args
EOF
chmod 755 "$script"
"$script" arg1 arg2 "arg3.1 arg3.2"
rm "$script"
}
par_shebang_wrap_julia() {
script="$TMPDIR"/shebang_wrap_julia
unset DISPLAY
cat <<'EOF' > "$script"
#!/usr/local/bin/parallel --shebang-wrap -k /snap/bin/julia
println("Arguments: ", join(ARGS, " "))
EOF
chmod 755 "$script"
"$script" arg1 arg2 "arg3.1 arg3.2"
rm "$script"
}
par_shebang_wrap_clisp() { par_shebang_wrap_clisp() {
# clisp cannot handle dirs w/ shell wildcards # clisp cannot handle dirs w/ shell wildcards
TMPDIR=/tmp TMPDIR=/tmp

View file

@ -194,4 +194,4 @@ par_help() {
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | G par_ "$@" | LC_ALL=C sort | compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --timeout 1000% -j0 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' parallel --timeout 3000% -j0 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'

View file

@ -14,7 +14,7 @@ par_sqlite() {
# create database & table # create database & table
sql $CMDSQL:///sqltest.$CMDSQL "CREATE TABLE foo(n INT, t TEXT);" sql $CMDSQL:///sqltest.$CMDSQL "CREATE TABLE foo(n INT, t TEXT);"
sql --list-tables $CMDSQL:///sqltest.$CMDSQL sql --list-tables $CMDSQL:///sqltest.$CMDSQL
file sqltest.$CMDSQL file sqltest.$CMDSQL | perl -pe 's/ version \d+//'
sql $CMDSQL:///sqltest.$CMDSQL "INSERT INTO foo VALUES(1,'Line 1');" sql $CMDSQL:///sqltest.$CMDSQL "INSERT INTO foo VALUES(1,'Line 1');"
sql $CMDSQL:///sqltest.$CMDSQL "INSERT INTO foo VALUES(2,'Line 2');" sql $CMDSQL:///sqltest.$CMDSQL "INSERT INTO foo VALUES(2,'Line 2');"
sql $CMDSQL:///sqltest.$CMDSQL "SELECT * FROM foo;" sql $CMDSQL:///sqltest.$CMDSQL "SELECT * FROM foo;"

2
testsuite/tests-to-run/sql03.sh Normal file → Executable file
View file

@ -111,7 +111,7 @@ par_listproc() {
echo "### Test --listproc" echo "### Test --listproc"
sql --listproc :oraunittest | sql --listproc :oraunittest |
perl -ne '/select 1 from dual|user_objects|user_tablespaces|connect_by_filtering/ and next; perl -ne '/select 1 from dual|user_objects|user_tablespaces|connect_by_filtering/ and next;
s/[21]\.\d+/1.99999/; s/[21 ]\.\d{5}/1.99999/;
s/ +/ /g; s/ +/ /g;
print' print'
sql --listproc $MYSQL_TEST_DBURL | sql --listproc $MYSQL_TEST_DBURL |

View file

@ -44,19 +44,19 @@ par__environment_too_big_zsh OK_bigfunc_remote
par__environment_too_big_zsh OK_bigfunc_quote par__environment_too_big_zsh OK_bigfunc_quote
par__environment_too_big_zsh OK_bigfunc_quote_remote par__environment_too_big_zsh OK_bigfunc_quote_remote
par__environment_too_big_zsh Rest should fail par__environment_too_big_zsh Rest should fail
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigvar par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigvar
par__environment_too_big_zsh parallel: Error: Command line too long (5XXXX >= 5XXXX) at input 0: fail_bigvar_remote par__environment_too_big_zsh parallel: Error: Command line too long (7XXXX >= 6XXXX) at input 0: fail_bigvar_remote
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigvar_quote par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigvar_quote
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigvar_quote_remote par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigvar_quote_remote
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigfunc par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigfunc
par__environment_too_big_zsh parallel: Error: Command line too long (7XXXX >= 5XXXX) at input 0: fail_bigfunc_remote par__environment_too_big_zsh parallel: Error: Command line too long (7XXXX >= 6XXXX) at input 0: fail_bigfunc_remote
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigfunc_quote par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigfunc_quote
par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 5XXXX) at input 0: fail_bigfunc_quote_remote par__environment_too_big_zsh parallel: Error: Command line too long (6XXXX >= 6XXXX) at input 0: fail_bigfunc_quote_remote
par__sockets_cores_threads ### Test --number-of-sockets/cores/threads par__sockets_cores_threads ### Test --number-of-sockets/cores/threads
par__sockets_cores_threads 1 par__sockets_cores_threads 1
par__sockets_cores_threads 2
par__sockets_cores_threads 4 par__sockets_cores_threads 4
par__sockets_cores_threads 2 par__sockets_cores_threads 8
par__sockets_cores_threads 4
par__sockets_cores_threads ### Test --use-sockets-instead-of-threads par__sockets_cores_threads ### Test --use-sockets-instead-of-threads
par__sockets_cores_threads threads done par__sockets_cores_threads threads done
par__sockets_cores_threads sockets done par__sockets_cores_threads sockets done
@ -69,13 +69,13 @@ par_progress Computer:jobs running/jobs completed/%of started jobs/Average secon
par_progress local:0/3/100%/9.9s  par_progress local:0/3/100%/9.9s 
par_progress par_progress
par_progress Computers / CPU cores / Max jobs to run par_progress Computers / CPU cores / Max jobs to run
par_progress 1:local / 2 / 2 par_progress 1:local / 4 / 4
par_progress par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s  par_progress local:0/3/100%/9.9s 
par_progress par_progress
par_progress Computers / CPU threads / Max jobs to run par_progress Computers / CPU threads / Max jobs to run
par_progress 1:local / 4 / 4 par_progress 1:local / 8 / 8
par_progress par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s  par_progress local:0/3/100%/9.9s 

View file

@ -1,3 +1,5 @@
par_--rpl_group_bug Bug in --rpl group: $$1_
par_--rpl_group_bug Good
par_-q_perl_program ### test08 -q and perl par_-q_perl_program ### test08 -q and perl
par_-q_perl_program b par_-q_perl_program b
par_-q_perl_program d par_-q_perl_program d
@ -982,10 +984,10 @@ par_sem_quote ### sem --quote should not add empty argument
par_sem_quote echo par_sem_quote echo
par_sem_quote par_sem_quote
par_shellcompletion ### --shellcompletion par_shellcompletion ### --shellcompletion
par_shellcompletion 1952015cc0c85c44d82d13e2673f4b28 - par_shellcompletion bf790ce8a53d1e7e5f8e78b063dc65bc -
par_shellcompletion 1952015cc0c85c44d82d13e2673f4b28 - par_shellcompletion bf790ce8a53d1e7e5f8e78b063dc65bc -
par_shellcompletion c23b2094e510526c322ea3af89b4c682 - par_shellcompletion 2230e8ac0593f660fccd983596377613 -
par_shellcompletion c23b2094e510526c322ea3af89b4c682 - par_shellcompletion 2230e8ac0593f660fccd983596377613 -
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

View file

@ -1,3 +1,110 @@
par_--match Basic match
par_--match This works
par_--match This works, too
par_--match Simple CSV-parsing
par_--match url=https://gnu.org/s/parallel filename=myfile
par_--match Dummy --match for input source 1, real --match for input source 2
par_--match This works
par_--match Reuse --match
par_--match ALL OK
par_--match With --header :
par_--match ALL OK
par_--match Failure to match/Partial match
par_--match parallel: Warning: 'FAILS' did not match '([a-z]+)'
par_--match matches
par_--match 1
par_--match partly
par_--match Test error: missing --match
par_--match parallel: Error: {2.1} requires corresponding --match
par_--match Test error: \001 in match
par_--match parallel: Error: \001 is not supported in --match
par_--match From man parallel_examples
par_--match mkdir -p a && mv afile a
par_--match mkdir -p b && mv bfile b
par_--match mkdir -p a && mv adir a
par_--match A. Dent
par_--match F. Prefect
par_--match T. McMillan
par_--match Z. Beeblebrox
par_--match 1969-12-31
par_--match 2038-01-19
par_--match 2002-06-01
par_--match Domain: example.com Path: dir/page
par_--match Domain: gnu.org Path: s/parallel
par_--match Second: Babel fish, First: Arthur
par_--match Second: Betelgeuse, First: Adams
par_--match Second: Bistro, First: Arcturan
par_--match Pan Galactic
par_--match Gargle Blaster
par_--match From DK/Denmark to DK/Denmark dial 00-45
par_--match From DK/Denmark to US/United States dial 00-1
par_--match From DK/Denmark to JP/Japan dial 00-81
par_--match From DK/Denmark to AU/Australia dial 00-61
par_--match From DK/Denmark to CA/Canada dial 00-1
par_--match From DK/Denmark to RU/Russia dial 00-7
par_--match From DK/Denmark to TH/Thailand dial 00-66
par_--match From DK/Denmark to TW/Taiwan dial 00-886
par_--match From US/United States to DK/Denmark dial 011-45
par_--match From US/United States to US/United States dial 011-1
par_--match From US/United States to JP/Japan dial 011-81
par_--match From US/United States to AU/Australia dial 011-61
par_--match From US/United States to CA/Canada dial 011-1
par_--match From US/United States to RU/Russia dial 011-7
par_--match From US/United States to TH/Thailand dial 011-66
par_--match From US/United States to TW/Taiwan dial 011-886
par_--match From JP/Japan to DK/Denmark dial 010-45
par_--match From JP/Japan to US/United States dial 010-1
par_--match From JP/Japan to JP/Japan dial 010-81
par_--match From JP/Japan to AU/Australia dial 010-61
par_--match From JP/Japan to CA/Canada dial 010-1
par_--match From JP/Japan to RU/Russia dial 010-7
par_--match From JP/Japan to TH/Thailand dial 010-66
par_--match From JP/Japan to TW/Taiwan dial 010-886
par_--match From AU/Australia to DK/Denmark dial 0011-45
par_--match From AU/Australia to US/United States dial 0011-1
par_--match From AU/Australia to JP/Japan dial 0011-81
par_--match From AU/Australia to AU/Australia dial 0011-61
par_--match From AU/Australia to CA/Canada dial 0011-1
par_--match From AU/Australia to RU/Russia dial 0011-7
par_--match From AU/Australia to TH/Thailand dial 0011-66
par_--match From AU/Australia to TW/Taiwan dial 0011-886
par_--match From CA/Canada to DK/Denmark dial 011-45
par_--match From CA/Canada to US/United States dial 011-1
par_--match From CA/Canada to JP/Japan dial 011-81
par_--match From CA/Canada to AU/Australia dial 011-61
par_--match From CA/Canada to CA/Canada dial 011-1
par_--match From CA/Canada to RU/Russia dial 011-7
par_--match From CA/Canada to TH/Thailand dial 011-66
par_--match From CA/Canada to TW/Taiwan dial 011-886
par_--match From RU/Russia to DK/Denmark dial 810-45
par_--match From RU/Russia to US/United States dial 810-1
par_--match From RU/Russia to JP/Japan dial 810-81
par_--match From RU/Russia to AU/Australia dial 810-61
par_--match From RU/Russia to CA/Canada dial 810-1
par_--match From RU/Russia to RU/Russia dial 810-7
par_--match From RU/Russia to TH/Thailand dial 810-66
par_--match From RU/Russia to TW/Taiwan dial 810-886
par_--match From TH/Thailand to DK/Denmark dial 001-45
par_--match From TH/Thailand to US/United States dial 001-1
par_--match From TH/Thailand to JP/Japan dial 001-81
par_--match From TH/Thailand to AU/Australia dial 001-61
par_--match From TH/Thailand to CA/Canada dial 001-1
par_--match From TH/Thailand to RU/Russia dial 001-7
par_--match From TH/Thailand to TH/Thailand dial 001-66
par_--match From TH/Thailand to TW/Taiwan dial 001-886
par_--match From TW/Taiwan to DK/Denmark dial 002-45
par_--match From TW/Taiwan to US/United States dial 002-1
par_--match From TW/Taiwan to JP/Japan dial 002-81
par_--match From TW/Taiwan to AU/Australia dial 002-61
par_--match From TW/Taiwan to CA/Canada dial 002-1
par_--match From TW/Taiwan to RU/Russia dial 002-7
par_--match From TW/Taiwan to TH/Thailand dial 002-66
par_--match From TW/Taiwan to TW/Taiwan dial 002-886
par_--match Capture groups CSV-parsing - not implemented
par_--match url={url} filename={file} https://gnu.org/s/parallel,myfile
par_--match Non posistional replacement fields - not implemented
par_--match {.2} {.3} {.1} Gold,Heart_of
par_--match TODO Ignore case?
par_END ### Test -i and --replace: Replace with argument par_END ### Test -i and --replace: Replace with argument
par_END replace par_END replace
par_END replace par_END replace
@ -19,10 +126,381 @@ par_END include this
par__load_from_PARALLEL ### Test reading load from PARALLEL 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__nice Check that --nice works
par__nice load_10
par__nice bzip2 18
par__nice bzip2 18
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922 par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
par__pipepart_spawn 1:local / 2+ / 2+ par__pipepart_spawn 1:local / 2+ / 2+
par__quote_special_results ### Test --results on file systems with limited UTF8 support
par__quote_special_results mkfs.btrfs
par__quote_special_results mkfs.btrfs NOTE: several default settings have changed in version 5.15, please make sure
par__quote_special_results mkfs.btrfs this does not affect your deployments:
par__quote_special_results mkfs.btrfs - DUP for metadata (-m dup)
par__quote_special_results mkfs.btrfs - enabled no-holes (-O no-holes)
par__quote_special_results mkfs.btrfs - enabled free-space-tree (-R free-space-tree)
par__quote_special_results mkfs.btrfs
par__quote_special_results mkfs.btrfs Label: (null)
par__quote_special_results mkfs.btrfs Node size: 16384
par__quote_special_results mkfs.btrfs Sector size: 4096
par__quote_special_results mkfs.btrfs Filesystem size: 301.00MiB
par__quote_special_results mkfs.btrfs Block group profiles:
par__quote_special_results mkfs.btrfs Data: single 8.00MiB
par__quote_special_results mkfs.btrfs Metadata: DUP 32.00MiB
par__quote_special_results mkfs.btrfs System: DUP 8.00MiB
par__quote_special_results mkfs.btrfs SSD detected: no
par__quote_special_results mkfs.btrfs Zoned device: no
par__quote_special_results mkfs.btrfs Runtime features: free-space-tree
par__quote_special_results mkfs.btrfs Checksum: crc32c
par__quote_special_results mkfs.btrfs Number of devices: 1
par__quote_special_results mkfs.btrfs Devices:
par__quote_special_results mkfs.btrfs 1 301.00MiB /dev/shm/par-test-loop
par__quote_special_results mkfs.btrfs
par__quote_special_results mkfs.btrfs Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.btrfs /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.btrfs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.btrfs
par__quote_special_results mkfs.btrfs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.btrfs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.btrfs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.btrfs 301+0 records in
par__quote_special_results mkfs.btrfs 301+0 records out
par__quote_special_results mkfs.exfat Creating exFAT filesystem(/dev/shm/par-test-loop cluster size=32768)
par__quote_special_results mkfs.exfat
par__quote_special_results mkfs.exfat Writing volume boot record: done
par__quote_special_results mkfs.exfat Writing backup volume boot record: done
par__quote_special_results mkfs.exfat Fat table creation: done
par__quote_special_results mkfs.exfat Allocation bitmap creation: done
par__quote_special_results mkfs.exfat Upcase table creation: done
par__quote_special_results mkfs.exfat Writing root directory entry: done
par__quote_special_results mkfs.exfat Synchronizing...
par__quote_special_results mkfs.exfat
par__quote_special_results mkfs.exfat exFAT format complete!
par__quote_special_results mkfs.exfat Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.exfat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.exfat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par__quote_special_results mkfs.exfat . ./ ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+80 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./
par__quote_special_results mkfs.exfat . ./+80 ./+81 ./+82 ./+83 ./+84 ./+85 ./+86 ./+87 ./+88 ./+89 ./+8a ./+8b ./+8c ./+8d ./+8e ./+8f ./+90 ./+91 ./+92 ./+93 ./+94 ./+95 ./+96 ./+97 ./+98 ./+99 ./+9a ./+9b ./+9c ./+9d ./+9e ./+9f ./+a0 ./+a1 ./+a2 ./+a3 ./+a4 ./+a5 ./+a6 ./+a7 ./+a8 ./+a9 ./+aa ./+ab ./+ac ./+ad ./+ae ./+af ./+b0 ./+b1 ./+b2 ./+b3 ./+b4 ./+b5 ./+b6 ./+b7 ./+b8 ./+b9 ./+ba ./+bb ./+bc ./+bd ./+be ./+bf ./+c0 ./+c1 ./+c2 ./+c3 ./+c4 ./+c5 ./+c6 ./+c7 ./+c8 ./+c9 ./+ca ./+cb ./+cc ./+cd ./+ce ./+cf ./+d0 ./+d1 ./+d2 ./+d3 ./+d4 ./+d5 ./+d6 ./+d7 ./+d8 ./+d9 ./+da ./+db ./+dc ./+dd ./+de ./+df ./+e0 ./+e1 ./+e2 ./+e3 ./+e4 ./+e5 ./+e6 ./+e7 ./+e8 ./+e9 ./+ea ./+eb ./+ec ./+ed ./+ee ./+ef ./+f0 ./+f1 ./+f2 ./+f3 ./+f4 ./+f5 ./+f6 ./+f7 ./+f8 ./+f9 ./+fa ./+fb ./+fc ./+fd ./+fe ./+ff
par__quote_special_results mkfs.exfat 301+0 records in
par__quote_special_results mkfs.exfat 301+0 records out
par__quote_special_results mkfs.ext2 Discarding device blocks: 0/77056 done
par__quote_special_results mkfs.ext2 Creating filesystem with 77056 4k blocks and 77088 inodes
par__quote_special_results mkfs.ext2 Superblock backups stored on blocks:
par__quote_special_results mkfs.ext2 32768
par__quote_special_results mkfs.ext2
par__quote_special_results mkfs.ext2 Allocating group tables: 0/3 done
par__quote_special_results mkfs.ext2 Writing inode tables: 0/3 done
par__quote_special_results mkfs.ext2 Writing superblocks and filesystem accounting information: 0/3 done
par__quote_special_results mkfs.ext2
par__quote_special_results mkfs.ext2 Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.ext2 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.ext2 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.ext2
par__quote_special_results mkfs.ext2 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.ext2 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.ext2 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.ext2 301+0 records in
par__quote_special_results mkfs.ext2 301+0 records out
par__quote_special_results mkfs.ext3 Discarding device blocks: 0/77056 done
par__quote_special_results mkfs.ext3 Creating filesystem with 77056 4k blocks and 77088 inodes
par__quote_special_results mkfs.ext3 Superblock backups stored on blocks:
par__quote_special_results mkfs.ext3 32768
par__quote_special_results mkfs.ext3
par__quote_special_results mkfs.ext3 Allocating group tables: 0/3 done
par__quote_special_results mkfs.ext3 Writing inode tables: 0/3 done
par__quote_special_results mkfs.ext3 Creating journal (4096 blocks): done
par__quote_special_results mkfs.ext3 Writing superblocks and filesystem accounting information: 0/3 done
par__quote_special_results mkfs.ext3
par__quote_special_results mkfs.ext3 Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.ext3 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.ext3 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.ext3
par__quote_special_results mkfs.ext3 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.ext3 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.ext3 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.ext3 301+0 records in
par__quote_special_results mkfs.ext3 301+0 records out
par__quote_special_results mkfs.ext4 Discarding device blocks: 0/77056 done
par__quote_special_results mkfs.ext4 Creating filesystem with 77056 4k blocks and 77088 inodes
par__quote_special_results mkfs.ext4 Superblock backups stored on blocks:
par__quote_special_results mkfs.ext4 32768
par__quote_special_results mkfs.ext4
par__quote_special_results mkfs.ext4 Allocating group tables: 0/3 done
par__quote_special_results mkfs.ext4 Writing inode tables: 0/3 done
par__quote_special_results mkfs.ext4 Creating journal (4096 blocks): done
par__quote_special_results mkfs.ext4 Writing superblocks and filesystem accounting information: 0/3 done
par__quote_special_results mkfs.ext4
par__quote_special_results mkfs.ext4 Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.ext4 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.ext4 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.ext4
par__quote_special_results mkfs.ext4 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.ext4 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.ext4 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.ext4 301+0 records in
par__quote_special_results mkfs.ext4 301+0 records out
par__quote_special_results mkfs.reiserfs -fq Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.reiserfs -fq /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.reiserfs -fq . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.reiserfs -fq
par__quote_special_results mkfs.reiserfs -fq . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.reiserfs -fq ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.reiserfs -fq . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.reiserfs -fq 301+0 records in
par__quote_special_results mkfs.reiserfs -fq 301+0 records out
par__quote_special_results mkfs.reiserfs -fq mkfs.reiserfs 3.6.27
par__quote_special_results mkfs.reiserfs -fq
par__quote_special_results mkfs.ntfs -F Cluster size has been automatically set to 4096 bytes.
par__quote_special_results mkfs.ntfs -F Initializing device with zeroes: 0% 0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99%100% - Done.
par__quote_special_results mkfs.ntfs -F Creating NTFS volume structures.
par__quote_special_results mkfs.ntfs -F mkntfs completed successfully. Have a nice day.
par__quote_special_results mkfs.ntfs -F Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.ntfs -F /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.ntfs -F . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.ntfs -F
par__quote_special_results mkfs.ntfs -F . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.ntfs -F ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+80 ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./
par__quote_special_results mkfs.ntfs -F . ./+80 ./+81 ./+82 ./+83 ./+84 ./+85 ./+86 ./+87 ./+88 ./+89 ./+8a ./+8b ./+8c ./+8d ./+8e ./+8f ./+90 ./+91 ./+92 ./+93 ./+94 ./+95 ./+96 ./+97 ./+98 ./+99 ./+9a ./+9b ./+9c ./+9d ./+9e ./+9f ./+a0 ./+a1 ./+a2 ./+a3 ./+a4 ./+a5 ./+a6 ./+a7 ./+a8 ./+a9 ./+aa ./+ab ./+ac ./+ad ./+ae ./+af ./+b0 ./+b1 ./+b2 ./+b3 ./+b4 ./+b5 ./+b6 ./+b7 ./+b8 ./+b9 ./+ba ./+bb ./+bc ./+bd ./+be ./+bf ./+c0 ./+c1 ./+c2 ./+c3 ./+c4 ./+c5 ./+c6 ./+c7 ./+c8 ./+c9 ./+ca ./+cb ./+cc ./+cd ./+ce ./+cf ./+d0 ./+d1 ./+d2 ./+d3 ./+d4 ./+d5 ./+d6 ./+d7 ./+d8 ./+d9 ./+da ./+db ./+dc ./+dd ./+de ./+df ./+e0 ./+e1 ./+e2 ./+e3 ./+e4 ./+e5 ./+e6 ./+e7 ./+e8 ./+e9 ./+ea ./+eb ./+ec ./+ed ./+ee ./+ef ./+f0 ./+f1 ./+f2 ./+f3 ./+f4 ./+f5 ./+f6 ./+f7 ./+f8 ./+f9 ./+fa ./+fb ./+fc ./+fd ./+fe ./+ff
par__quote_special_results mkfs.ntfs -F 301+0 records in
par__quote_special_results mkfs.ntfs -F 301+0 records out
par__quote_special_results mkfs.ntfs -F /dev/shm/par-test-loop is not a block device.
par__quote_special_results mkfs.ntfs -F mkntfs forced anyway.
par__quote_special_results mkfs.ntfs -F The sector size was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 512 bytes.
par__quote_special_results mkfs.ntfs -F The partition start sector was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par__quote_special_results mkfs.ntfs -F The number of sectors per track was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par__quote_special_results mkfs.ntfs -F The number of heads was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par__quote_special_results mkfs.ntfs -F To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
par__quote_special_results mkfs.ntfs -F Windows will not be able to boot from this device.
par__quote_special_results mkfs.xfs -f meta-data=/dev/shm/par-test-loop isize=512 agcount=4, agsize=19264 blks
par__quote_special_results mkfs.xfs -f = sectsz=512 attr=2, projid32bit=1
par__quote_special_results mkfs.xfs -f data = bsize=4096 blocks=77056, imaxpct=25
par__quote_special_results mkfs.xfs -f = sunit=0 swidth=0 blks
par__quote_special_results mkfs.xfs -f naming =version 2 bsize=4096 ascii-ci=0, ftype=1
par__quote_special_results mkfs.xfs -f = sectsz=512 sunit=0 blks, lazy-count=1
par__quote_special_results mkfs.xfs -f realtime =none extsz=4096 blocks=0, rtextents=0
par__quote_special_results mkfs.xfs -f Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.xfs -f /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.xfs -f . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.xfs -f
par__quote_special_results mkfs.xfs -f . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.xfs -f ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.xfs -f . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.xfs -f 301+0 records in
par__quote_special_results mkfs.xfs -f 301+0 records out
par__quote_special_results mkfs.minix 21856 inodes
par__quote_special_results mkfs.minix 65535 blocks
par__quote_special_results mkfs.minix Firstdatazone=696 (696)
par__quote_special_results mkfs.minix Zonesize=1024
par__quote_special_results mkfs.minix Maxsize=268966912
par__quote_special_results mkfs.minix
par__quote_special_results mkfs.minix Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.minix /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.minix . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.minix
par__quote_special_results mkfs.minix . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.minix ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.minix . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.minix 301+0 records in
par__quote_special_results mkfs.minix 301+0 records out
par__quote_special_results mkfs.fat mkfs.fat 4.2 (2021-01-31)
par__quote_special_results mkfs.fat Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.fat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.fat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par__quote_special_results mkfs.fat . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par__quote_special_results mkfs.fat . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par__quote_special_results mkfs.fat 301+0 records in
par__quote_special_results mkfs.fat 301+0 records out
par__quote_special_results mkfs.vfat mkfs.fat 4.2 (2021-01-31)
par__quote_special_results mkfs.vfat Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.vfat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.vfat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par__quote_special_results mkfs.vfat . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par__quote_special_results mkfs.vfat . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par__quote_special_results mkfs.vfat 301+0 records in
par__quote_special_results mkfs.vfat 301+0 records out
par__quote_special_results mkfs.msdos mkfs.fat 4.2 (2021-01-31)
par__quote_special_results mkfs.msdos Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.msdos /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.msdos . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par__quote_special_results mkfs.msdos . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par__quote_special_results mkfs.msdos . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par__quote_special_results mkfs.msdos 301+0 records in
par__quote_special_results mkfs.msdos 301+0 records out
par__quote_special_results mkfs.f2fs
par__quote_special_results mkfs.f2fs
par__quote_special_results mkfs.f2fs Info: Disable heap-based policy
par__quote_special_results mkfs.f2fs Info: Debug level = 0
par__quote_special_results mkfs.f2fs Info: Trim is enabled
par__quote_special_results mkfs.f2fs Info: Segments per section = 1
par__quote_special_results mkfs.f2fs Info: Sections per zone = 1
par__quote_special_results mkfs.f2fs Info: sector size = 512
par__quote_special_results mkfs.f2fs Info: total sectors = 616448 (301 MB)
par__quote_special_results mkfs.f2fs Info: zone aligned segment0 blkaddr: 512
par__quote_special_results mkfs.f2fs Info: format version with
par__quote_special_results mkfs.f2fs Info: [/dev/shm/par-test-loop Discarding device
par__quote_special_results mkfs.f2fs Info: format successful
par__quote_special_results mkfs.f2fs Filesystem 1K-blocks Used Available Use% Mounted on
par__quote_special_results mkfs.f2fs /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par__quote_special_results mkfs.f2fs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par__quote_special_results mkfs.f2fs
par__quote_special_results mkfs.f2fs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par__quote_special_results mkfs.f2fs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par__quote_special_results mkfs.f2fs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par__quote_special_results mkfs.f2fs 301+0 records in
par__quote_special_results mkfs.f2fs 301+0 records out
par__round_robin_blocks bug #49664: --round-robin does not complete par__round_robin_blocks bug #49664: --round-robin does not complete
par__round_robin_blocks 8 par__round_robin_blocks 8
par__tee_too_many_args ### Fail if there are more arguments than --jobs
par__tee_too_many_args 1 1
par__tee_too_many_args 1 10
par__tee_too_many_args 1 11
par__tee_too_many_args 2 2
par__tee_too_many_args 3 3
par__tee_too_many_args 4 4
par__tee_too_many_args parallel: Warning: Only enough file handles to run 999 jobs in parallel.
par__tee_too_many_args parallel: Warning: Try running 'parallel -j999 -N 999 --pipe parallel -j999'
par__tee_too_many_args parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
par__tee_too_many_args parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
par__tee_too_many_args parallel: Warning: or increasing /proc/sys/fs/file-max
par__tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 999.
par__xargs_compat xargs compatibility
par__xargs_compat ### Test -L -l and --max-lines
par__xargs_compat a_b
par__xargs_compat c
par__xargs_compat a_b c
par__xargs_compat a_b c
par__xargs_compat ### xargs -L1 echo
par__xargs_compat a_b
par__xargs_compat c
par__xargs_compat a_b
par__xargs_compat c
par__xargs_compat a_b
par__xargs_compat c
par__xargs_compat Lines ending in space should continue on next line
par__xargs_compat ### xargs -L1 echo
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat ### xargs -L2 echo
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat ### xargs -l echo
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat ### xargs -l2 echo
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat ### xargs -l1 echo
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat ### xargs --max-lines=2 echo
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat a_b c d
par__xargs_compat e
par__xargs_compat ### xargs --max-lines echo
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat a_b c
par__xargs_compat d
par__xargs_compat e
par__xargs_compat ### test too long args
par__xargs_compat parallel: Error: Command line too long (1000005 >= 63543) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par__xargs_compat xargs: argument line too long
par__xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat xargs: argument line too long
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat ### Test -x
par__xargs_compat -km
par__xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat -kX
par__xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat -x
par__xargs_compat xargs: argument line too long
par__xargs_compat 1 2
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat -km -x
par__xargs_compat 1 2
par__xargs_compat 12
par__xargs_compat 1234
par__xargs_compat 13
par__xargs_compat 14
par__xargs_compat 15
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat -kX -x
par__xargs_compat 1 2
par__xargs_compat 12
par__xargs_compat 1234
par__xargs_compat 13
par__xargs_compat 14
par__xargs_compat 15
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par__xargs_compat -x
par__xargs_compat 1 2
par__xargs_compat 12
par__xargs_compat 1234
par__xargs_compat 13
par__xargs_compat 14
par__xargs_compat 15
par__xargs_compat 3 4
par__xargs_compat 5 6
par__xargs_compat 7 8
par__xargs_compat 9 10
par_colsep ### Test of --colsep par_colsep ### Test of --colsep
par_colsep a b c par_colsep a b c
par_colsep a b c par_colsep a b c
@ -92,7 +570,7 @@ par_compress_prg_fails --tag --files parallel: Error: false failed.
par_compress_prg_fails --line-buffer 1 par_compress_prg_fails --line-buffer 1
par_compress_prg_fails --line-buffer parallel: Error: false failed. par_compress_prg_fails --line-buffer parallel: Error: false failed.
par_compress_prg_fails --line-buffer parallel: Error: false failed. par_compress_prg_fails --line-buffer parallel: Error: false failed.
par_compress_prg_fails --line-buffer --files 9 par_compress_prg_fails --line-buffer --files 1
par_compress_prg_fails --line-buffer --files parallel: Warning: Use --files0 when $TMPDIR contains newline. par_compress_prg_fails --line-buffer --files parallel: Warning: Use --files0 when $TMPDIR contains newline.
par_compress_prg_fails --line-buffer --files parallel: Error: false failed. par_compress_prg_fails --line-buffer --files parallel: Error: false failed.
par_compress_prg_fails --line-buffer --files parallel: Error: false failed. par_compress_prg_fails --line-buffer --files parallel: Error: false failed.
@ -615,10 +1093,6 @@ par_maxlinelen_X_I Chars per line (817788/13): 62906
par_maxlinelen_m_I ### Test max line length -m -I par_maxlinelen_m_I ### Test max line length -m -I
par_maxlinelen_m_I 183794839f45c8f7e38fe7c677c49958 - par_maxlinelen_m_I 183794839f45c8f7e38fe7c677c49958 -
par_maxlinelen_m_I Chars per line (697810/11): 63437 par_maxlinelen_m_I Chars per line (697810/11): 63437
par_nice Check that --nice works
par_nice load_10
par_nice bzip2 18
par_nice bzip2 18
par_opt_arg_eaten bug #31716: Options with optional arguments may eat next argument par_opt_arg_eaten bug #31716: Options with optional arguments may eat next argument
par_opt_arg_eaten ### Test https://savannah.gnu.org/bugs/index.php?31716 par_opt_arg_eaten ### Test https://savannah.gnu.org/bugs/index.php?31716
par_opt_arg_eaten 1 OK par_opt_arg_eaten 1 OK
@ -708,213 +1182,6 @@ par_pipe_tee 314572800
par_pipepart_tee bug #45479: --pipe/--pipepart --tee par_pipepart_tee bug #45479: --pipe/--pipepart --tee
par_pipepart_tee --pipepart --tee par_pipepart_tee --pipepart --tee
par_pipepart_tee 314572800 par_pipepart_tee 314572800
par_quote_special_results ### Test --results on file systems with limited UTF8 support
par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs NOTE: several default settings have changed in version 5.15, please make sure
par_quote_special_results mkfs.btrfs this does not affect your deployments:
par_quote_special_results mkfs.btrfs - DUP for metadata (-m dup)
par_quote_special_results mkfs.btrfs - enabled no-holes (-O no-holes)
par_quote_special_results mkfs.btrfs - enabled free-space-tree (-R free-space-tree)
par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs Label: (null)
par_quote_special_results mkfs.btrfs Node size: 16384
par_quote_special_results mkfs.btrfs Sector size: 4096
par_quote_special_results mkfs.btrfs Filesystem size: 301.00MiB
par_quote_special_results mkfs.btrfs Block group profiles:
par_quote_special_results mkfs.btrfs Data: single 8.00MiB
par_quote_special_results mkfs.btrfs Metadata: DUP 32.00MiB
par_quote_special_results mkfs.btrfs System: DUP 8.00MiB
par_quote_special_results mkfs.btrfs SSD detected: no
par_quote_special_results mkfs.btrfs Zoned device: no
par_quote_special_results mkfs.btrfs Runtime features: free-space-tree
par_quote_special_results mkfs.btrfs Checksum: crc32c
par_quote_special_results mkfs.btrfs Number of devices: 1
par_quote_special_results mkfs.btrfs Devices:
par_quote_special_results mkfs.btrfs 1 301.00MiB /dev/shm/par-test-loop
par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.btrfs /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.btrfs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.btrfs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.btrfs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.btrfs 301+0 records in
par_quote_special_results mkfs.btrfs 301+0 records out
par_quote_special_results mkfs.exfat Creating exFAT filesystem(/dev/shm/par-test-loop cluster size=32768)
par_quote_special_results mkfs.exfat
par_quote_special_results mkfs.exfat Writing volume boot record: done
par_quote_special_results mkfs.exfat Writing backup volume boot record: done
par_quote_special_results mkfs.exfat Fat table creation: done
par_quote_special_results mkfs.exfat Allocation bitmap creation: done
par_quote_special_results mkfs.exfat Upcase table creation: done
par_quote_special_results mkfs.exfat Writing root directory entry: done
par_quote_special_results mkfs.exfat Synchronizing...
par_quote_special_results mkfs.exfat
par_quote_special_results mkfs.exfat exFAT format complete!
par_quote_special_results mkfs.exfat Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.exfat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.exfat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par_quote_special_results mkfs.exfat . ./ ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+80 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./
par_quote_special_results mkfs.exfat . ./+80 ./+81 ./+82 ./+83 ./+84 ./+85 ./+86 ./+87 ./+88 ./+89 ./+8a ./+8b ./+8c ./+8d ./+8e ./+8f ./+90 ./+91 ./+92 ./+93 ./+94 ./+95 ./+96 ./+97 ./+98 ./+99 ./+9a ./+9b ./+9c ./+9d ./+9e ./+9f ./+a0 ./+a1 ./+a2 ./+a3 ./+a4 ./+a5 ./+a6 ./+a7 ./+a8 ./+a9 ./+aa ./+ab ./+ac ./+ad ./+ae ./+af ./+b0 ./+b1 ./+b2 ./+b3 ./+b4 ./+b5 ./+b6 ./+b7 ./+b8 ./+b9 ./+ba ./+bb ./+bc ./+bd ./+be ./+bf ./+c0 ./+c1 ./+c2 ./+c3 ./+c4 ./+c5 ./+c6 ./+c7 ./+c8 ./+c9 ./+ca ./+cb ./+cc ./+cd ./+ce ./+cf ./+d0 ./+d1 ./+d2 ./+d3 ./+d4 ./+d5 ./+d6 ./+d7 ./+d8 ./+d9 ./+da ./+db ./+dc ./+dd ./+de ./+df ./+e0 ./+e1 ./+e2 ./+e3 ./+e4 ./+e5 ./+e6 ./+e7 ./+e8 ./+e9 ./+ea ./+eb ./+ec ./+ed ./+ee ./+ef ./+f0 ./+f1 ./+f2 ./+f3 ./+f4 ./+f5 ./+f6 ./+f7 ./+f8 ./+f9 ./+fa ./+fb ./+fc ./+fd ./+fe ./+ff
par_quote_special_results mkfs.exfat 301+0 records in
par_quote_special_results mkfs.exfat 301+0 records out
par_quote_special_results mkfs.ext2 Discarding device blocks: 0/77056 done
par_quote_special_results mkfs.ext2 Creating filesystem with 77056 4k blocks and 77088 inodes
par_quote_special_results mkfs.ext2 Superblock backups stored on blocks:
par_quote_special_results mkfs.ext2 32768
par_quote_special_results mkfs.ext2
par_quote_special_results mkfs.ext2 Allocating group tables: 0/3 done
par_quote_special_results mkfs.ext2 Writing inode tables: 0/3 done
par_quote_special_results mkfs.ext2 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext2
par_quote_special_results mkfs.ext2 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext2 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.ext2 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext2
par_quote_special_results mkfs.ext2 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.ext2 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.ext2 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext2 301+0 records in
par_quote_special_results mkfs.ext2 301+0 records out
par_quote_special_results mkfs.ext3 Discarding device blocks: 0/77056 done
par_quote_special_results mkfs.ext3 Creating filesystem with 77056 4k blocks and 77088 inodes
par_quote_special_results mkfs.ext3 Superblock backups stored on blocks:
par_quote_special_results mkfs.ext3 32768
par_quote_special_results mkfs.ext3
par_quote_special_results mkfs.ext3 Allocating group tables: 0/3 done
par_quote_special_results mkfs.ext3 Writing inode tables: 0/3 done
par_quote_special_results mkfs.ext3 Creating journal (4096 blocks): done
par_quote_special_results mkfs.ext3 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext3
par_quote_special_results mkfs.ext3 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext3 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.ext3 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext3
par_quote_special_results mkfs.ext3 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.ext3 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.ext3 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext3 301+0 records in
par_quote_special_results mkfs.ext3 301+0 records out
par_quote_special_results mkfs.ext4 Discarding device blocks: 0/77056 done
par_quote_special_results mkfs.ext4 Creating filesystem with 77056 4k blocks and 77088 inodes
par_quote_special_results mkfs.ext4 Superblock backups stored on blocks:
par_quote_special_results mkfs.ext4 32768
par_quote_special_results mkfs.ext4
par_quote_special_results mkfs.ext4 Allocating group tables: 0/3 done
par_quote_special_results mkfs.ext4 Writing inode tables: 0/3 done
par_quote_special_results mkfs.ext4 Creating journal (4096 blocks): done
par_quote_special_results mkfs.ext4 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext4
par_quote_special_results mkfs.ext4 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext4 /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.ext4 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext4
par_quote_special_results mkfs.ext4 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.ext4 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.ext4 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext4 301+0 records in
par_quote_special_results mkfs.ext4 301+0 records out
par_quote_special_results mkfs.reiserfs -fq Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.reiserfs -fq /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.reiserfs -fq . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.reiserfs -fq
par_quote_special_results mkfs.reiserfs -fq . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.reiserfs -fq ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.reiserfs -fq . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.reiserfs -fq 301+0 records in
par_quote_special_results mkfs.reiserfs -fq 301+0 records out
par_quote_special_results mkfs.reiserfs -fq mkfs.reiserfs 3.6.27
par_quote_special_results mkfs.reiserfs -fq
par_quote_special_results mkfs.ntfs -F Cluster size has been automatically set to 4096 bytes.
par_quote_special_results mkfs.ntfs -F Initializing device with zeroes: 0% 0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99%100% - Done.
par_quote_special_results mkfs.ntfs -F Creating NTFS volume structures.
par_quote_special_results mkfs.ntfs -F mkntfs completed successfully. Have a nice day.
par_quote_special_results mkfs.ntfs -F Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ntfs -F /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.ntfs -F . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ntfs -F
par_quote_special_results mkfs.ntfs -F . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.ntfs -F ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+80 ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./
par_quote_special_results mkfs.ntfs -F . ./+80 ./+81 ./+82 ./+83 ./+84 ./+85 ./+86 ./+87 ./+88 ./+89 ./+8a ./+8b ./+8c ./+8d ./+8e ./+8f ./+90 ./+91 ./+92 ./+93 ./+94 ./+95 ./+96 ./+97 ./+98 ./+99 ./+9a ./+9b ./+9c ./+9d ./+9e ./+9f ./+a0 ./+a1 ./+a2 ./+a3 ./+a4 ./+a5 ./+a6 ./+a7 ./+a8 ./+a9 ./+aa ./+ab ./+ac ./+ad ./+ae ./+af ./+b0 ./+b1 ./+b2 ./+b3 ./+b4 ./+b5 ./+b6 ./+b7 ./+b8 ./+b9 ./+ba ./+bb ./+bc ./+bd ./+be ./+bf ./+c0 ./+c1 ./+c2 ./+c3 ./+c4 ./+c5 ./+c6 ./+c7 ./+c8 ./+c9 ./+ca ./+cb ./+cc ./+cd ./+ce ./+cf ./+d0 ./+d1 ./+d2 ./+d3 ./+d4 ./+d5 ./+d6 ./+d7 ./+d8 ./+d9 ./+da ./+db ./+dc ./+dd ./+de ./+df ./+e0 ./+e1 ./+e2 ./+e3 ./+e4 ./+e5 ./+e6 ./+e7 ./+e8 ./+e9 ./+ea ./+eb ./+ec ./+ed ./+ee ./+ef ./+f0 ./+f1 ./+f2 ./+f3 ./+f4 ./+f5 ./+f6 ./+f7 ./+f8 ./+f9 ./+fa ./+fb ./+fc ./+fd ./+fe ./+ff
par_quote_special_results mkfs.ntfs -F 301+0 records in
par_quote_special_results mkfs.ntfs -F 301+0 records out
par_quote_special_results mkfs.ntfs -F /dev/shm/par-test-loop is not a block device.
par_quote_special_results mkfs.ntfs -F mkntfs forced anyway.
par_quote_special_results mkfs.ntfs -F The sector size was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 512 bytes.
par_quote_special_results mkfs.ntfs -F The partition start sector was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par_quote_special_results mkfs.ntfs -F The number of sectors per track was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par_quote_special_results mkfs.ntfs -F The number of heads was not specified for /dev/shm/par-test-loop and it could not be obtained automatically. It has been set to 0.
par_quote_special_results mkfs.ntfs -F To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
par_quote_special_results mkfs.ntfs -F Windows will not be able to boot from this device.
par_quote_special_results mkfs.xfs -f meta-data=/dev/shm/par-test-loop isize=512 agcount=4, agsize=19264 blks
par_quote_special_results mkfs.xfs -f = sectsz=512 attr=2, projid32bit=1
par_quote_special_results mkfs.xfs -f data = bsize=4096 blocks=77056, imaxpct=25
par_quote_special_results mkfs.xfs -f = sunit=0 swidth=0 blks
par_quote_special_results mkfs.xfs -f naming =version 2 bsize=4096 ascii-ci=0, ftype=1
par_quote_special_results mkfs.xfs -f = sectsz=512 sunit=0 blks, lazy-count=1
par_quote_special_results mkfs.xfs -f realtime =none extsz=4096 blocks=0, rtextents=0
par_quote_special_results mkfs.xfs -f Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.xfs -f /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.xfs -f . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.xfs -f
par_quote_special_results mkfs.xfs -f . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.xfs -f ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.xfs -f . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.xfs -f 301+0 records in
par_quote_special_results mkfs.xfs -f 301+0 records out
par_quote_special_results mkfs.minix 21856 inodes
par_quote_special_results mkfs.minix 65535 blocks
par_quote_special_results mkfs.minix Firstdatazone=696 (696)
par_quote_special_results mkfs.minix Zonesize=1024
par_quote_special_results mkfs.minix Maxsize=268966912
par_quote_special_results mkfs.minix
par_quote_special_results mkfs.minix Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.minix /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.minix . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.minix
par_quote_special_results mkfs.minix . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.minix ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.minix . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.minix 301+0 records in
par_quote_special_results mkfs.minix 301+0 records out
par_quote_special_results mkfs.fat mkfs.fat 4.2 (2021-01-31)
par_quote_special_results mkfs.fat Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.fat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.fat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par_quote_special_results mkfs.fat . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par_quote_special_results mkfs.fat . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par_quote_special_results mkfs.fat 301+0 records in
par_quote_special_results mkfs.fat 301+0 records out
par_quote_special_results mkfs.vfat mkfs.fat 4.2 (2021-01-31)
par_quote_special_results mkfs.vfat Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.vfat /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.vfat . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par_quote_special_results mkfs.vfat . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par_quote_special_results mkfs.vfat . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par_quote_special_results mkfs.vfat 301+0 records in
par_quote_special_results mkfs.vfat 301+0 records out
par_quote_special_results mkfs.msdos mkfs.fat 4.2 (2021-01-31)
par_quote_special_results mkfs.msdos Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.msdos /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.msdos . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,
par_quote_special_results mkfs.msdos . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+01 ./+02 ./+03 ./+04 ./+05 ./+06 ./+07 ./+08 ./+09 ./+0a ./+0b ./+0c ./+0d ./+0e ./+0f ./+10 ./+11 ./+12 ./+13 ./+14 ./+15 ./+16 ./+17 ./+18 ./+19 ./+1a ./+1b ./+1c ./+1d ./+1e ./+1f ./+20 ./+_ ./+a ./+b ./+d ./+g ./+k ./+l ./+p ./+y ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./; ./= ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./] ./^ ./_ ./` ./{ ./} ./~ ./ ./€
par_quote_special_results mkfs.msdos . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par_quote_special_results mkfs.msdos 301+0 records in
par_quote_special_results mkfs.msdos 301+0 records out
par_quote_special_results mkfs.f2fs
par_quote_special_results mkfs.f2fs
par_quote_special_results mkfs.f2fs Info: Disable heap-based policy
par_quote_special_results mkfs.f2fs Info: Debug level = 0
par_quote_special_results mkfs.f2fs Info: Trim is enabled
par_quote_special_results mkfs.f2fs Info: Segments per section = 1
par_quote_special_results mkfs.f2fs Info: Sections per zone = 1
par_quote_special_results mkfs.f2fs Info: sector size = 512
par_quote_special_results mkfs.f2fs Info: total sectors = 616448 (301 MB)
par_quote_special_results mkfs.f2fs Info: zone aligned segment0 blkaddr: 512
par_quote_special_results mkfs.f2fs Info: format version with
par_quote_special_results mkfs.f2fs Info: [/dev/shm/par-test-loop Discarding device
par_quote_special_results mkfs.f2fs Info: format successful
par_quote_special_results mkfs.f2fs Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.f2fs /dev/loop 999999 99999 99999 9% /tmp/par-test-loop
par_quote_special_results mkfs.f2fs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.f2fs
par_quote_special_results mkfs.f2fs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.f2fs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
par_quote_special_results mkfs.f2fs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.f2fs 301+0 records in
par_quote_special_results mkfs.f2fs 301+0 records out
par_results_csv bug #: --results csv par_results_csv bug #: --results csv
par_results_csv --header : --tag --files0 --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files0 --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --files0 --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /TMP/tmpfile", par_results_csv --header : --tag --files0 --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /TMP/tmpfile",
@ -1144,19 +1411,6 @@ par_shellquote csh \\\\\\\\ "\
par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh \\\\\\\\ "\
par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_tee_too_many_args ### Fail if there are more arguments than --jobs
par_tee_too_many_args 1 1
par_tee_too_many_args 1 10
par_tee_too_many_args 1 11
par_tee_too_many_args 2 2
par_tee_too_many_args 3 3
par_tee_too_many_args 4 4
par_tee_too_many_args parallel: Warning: Only enough file handles to run 999 jobs in parallel.
par_tee_too_many_args parallel: Warning: Try running 'parallel -j999 -N 999 --pipe parallel -j999'
par_tee_too_many_args parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
par_tee_too_many_args parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
par_tee_too_many_args parallel: Warning: or increasing /proc/sys/fs/file-max
par_tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 999.
par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this
par_tmp_full parallel: Error: Output is incomplete. par_tmp_full parallel: Error: Output is incomplete.
par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel. par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel.
@ -1166,150 +1420,3 @@ par_tmux_fg bug #50107: --tmux --fg should also write how to access it
par_tmux_fg See output with: tmux -S /TMPtmpfile attach par_tmux_fg See output with: tmux -S /TMPtmpfile attach
par_tmux_fg open terminal failed: not a terminal par_tmux_fg open terminal failed: not a terminal
par_totaljobs OK par_totaljobs OK
par_xargs_compat xargs compatibility
par_xargs_compat ### Test -L -l and --max-lines
par_xargs_compat a_b
par_xargs_compat c
par_xargs_compat a_b c
par_xargs_compat a_b c
par_xargs_compat ### xargs -L1 echo
par_xargs_compat a_b
par_xargs_compat c
par_xargs_compat a_b
par_xargs_compat c
par_xargs_compat a_b
par_xargs_compat c
par_xargs_compat Lines ending in space should continue on next line
par_xargs_compat ### xargs -L1 echo
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat ### xargs -L2 echo
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat ### xargs -l echo
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat ### xargs -l2 echo
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat ### xargs -l1 echo
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat ### xargs --max-lines=2 echo
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat a_b c d
par_xargs_compat e
par_xargs_compat ### xargs --max-lines echo
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat a_b c
par_xargs_compat d
par_xargs_compat e
par_xargs_compat ### test too long args
par_xargs_compat parallel: Error: Command line too long (1000005 >= 63543) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat xargs: argument line too long
par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat xargs: argument line too long
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat ### Test -x
par_xargs_compat -km
par_xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat -kX
par_xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat -x
par_xargs_compat xargs: argument line too long
par_xargs_compat 1 2
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat -km -x
par_xargs_compat 1 2
par_xargs_compat 12
par_xargs_compat 1234
par_xargs_compat 13
par_xargs_compat 14
par_xargs_compat 15
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat -kX -x
par_xargs_compat 1 2
par_xargs_compat 12
par_xargs_compat 1234
par_xargs_compat 13
par_xargs_compat 14
par_xargs_compat 15
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10
par_xargs_compat -x
par_xargs_compat 1 2
par_xargs_compat 12
par_xargs_compat 1234
par_xargs_compat 13
par_xargs_compat 14
par_xargs_compat 15
par_xargs_compat 3 4
par_xargs_compat 5 6
par_xargs_compat 7 8
par_xargs_compat 9 10

View file

@ -630,7 +630,7 @@ par__test_cpu_detection_cpuinfo 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organi
par__test_cpu_detection_cpuinfo 1 4 8 4 par__test_cpu_detection_cpuinfo 1 4 8 4
par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop
par__test_cpu_detection_cpuinfo 1 4 8 4 par__test_cpu_detection_cpuinfo 1 4 8 4
par__test_cpu_detection_cpuinfo 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit) par__test_cpu_detection_cpuinfo 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)
par__test_cpu_detection_cpuinfo 1 12 24 12 par__test_cpu_detection_cpuinfo 1 12 24 12
par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall
par__test_cpu_detection_cpuinfo 1 2 4 2 par__test_cpu_detection_cpuinfo 1 2 4 2
@ -664,7 +664,7 @@ par__test_cpu_detection_lscpu 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organize
par__test_cpu_detection_lscpu 1 4 8 4 par__test_cpu_detection_lscpu 1 4 8 4
par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop
par__test_cpu_detection_lscpu 1 4 8 4 par__test_cpu_detection_lscpu 1 4 8 4
par__test_cpu_detection_lscpu 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit) par__test_cpu_detection_lscpu 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)
par__test_cpu_detection_lscpu 1 12 24 12 par__test_cpu_detection_lscpu 1 12 24 12
par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall
par__test_cpu_detection_lscpu 1 2 4 2 par__test_cpu_detection_lscpu 1 2 4 2
@ -680,8 +680,8 @@ par__test_cpu_detection_topology 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organ
par__test_cpu_detection_topology 1 4 8 4 par__test_cpu_detection_topology 1 4 8 4
par__test_cpu_detection_topology 1-2-4-2 ThinkPad A475 AMD PRO A12-8830B R7 (64g) par__test_cpu_detection_topology 1-2-4-2 ThinkPad A475 AMD PRO A12-8830B R7 (64g)
par__test_cpu_detection_topology 1 2 4 2 par__test_cpu_detection_topology 1 2 4 2
par__test_cpu_detection_topology 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit) par__test_cpu_detection_topology 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong)
par__test_cpu_detection_topology 1 2 4 2 par__test_cpu_detection_topology 1 4 8 4
par_children_receive_sig ### Do children receive --termseq signals par_children_receive_sig ### Do children receive --termseq signals
par_children_receive_sig parallel: Warning: This job was killed because it timed out: par_children_receive_sig parallel: Warning: This job was killed because it timed out:
par_children_receive_sig parallel: Warning: show_signals '' par_children_receive_sig parallel: Warning: show_signals ''

View file

@ -1,3 +1,7 @@
WHY DOES THIS FAIL?
### --env _
In csh this may fail with ignored_var: Undefined variable.
### --env _ with explicit mentioning of normally ignored var $ignored_var
bug #46120: Suspend should suspend (at least local) children bug #46120: Suspend should suspend (at least local) children
it should burn 1.9 CPU seconds, but no more than that it should burn 1.9 CPU seconds, but no more than that
The 5 second sleep will make it be killed by timeout when it fgs The 5 second sleep will make it be killed by timeout when it fgs

View file

@ -1855,7 +1855,7 @@ SQLITE par_empty p_wrapper par_empty $SQLITE
SQLITE par_empty Do nothing: TBL99999 does not exist because it is not created SQLITE par_empty Do nothing: TBL99999 does not exist because it is not created
SQLITE par_empty Exit=0 SQLITE par_empty Exit=0
SQLITE par_empty Exit=0 SQLITE par_empty Exit=0
SQLITE par_empty Parse error near line 1: no such table: TBL99999 SQLITE par_empty Parse error near line 1: no such table: TBL99999 (1)
SQLITE par_no_table p_wrapper par_no_table $SQLITE SQLITE par_no_table p_wrapper par_no_table $SQLITE
SQLITE par_no_table bug #50018: --dburl without table dies SQLITE par_no_table bug #50018: --dburl without table dies
SQLITE par_no_table 255 SQLITE par_no_table 255

View file

@ -78,11 +78,11 @@ par__sshpass_with_password ### Crazy passwords: `date>>/tmp/trap`;(|<*&)'
par__sshpass_with_password # These fail. The important part is that /tmp/trap is empty par__sshpass_with_password # These fail. The important part is that /tmp/trap is empty
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`. par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
par__sshpass_with_password Permission denied, please try again. par__sshpass_with_password ssh: Could not resolve hostname host:
par__sshpass_with_password par__sshpass_with_password
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`. par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
par__sshpass_with_password Permission denied, please try again. par__sshpass_with_password ssh: Could not resolve hostname host:
par__sshpass_with_password par__sshpass_with_password
par__sshpass_with_password This must stay empty: par__sshpass_with_password This must stay empty:
par__sshpass_with_password OK par__sshpass_with_password OK

View file

@ -278,7 +278,7 @@ par__test_different_rsync_versions rsync-v3.2.4 Basic use works: rsync-v3.2.4
par__test_different_rsync_versions rsync-v3.2.5 Basic use works: rsync-v3.2.5 par__test_different_rsync_versions rsync-v3.2.5 Basic use works: rsync-v3.2.5
par__test_different_rsync_versions rsync-v3.2.6 Basic use works: rsync-v3.2.6 par__test_different_rsync_versions rsync-v3.2.6 Basic use works: rsync-v3.2.6
par__test_different_rsync_versions rsync-v3.2.7 Basic use works: rsync-v3.2.7 par__test_different_rsync_versions rsync-v3.2.7 Basic use works: rsync-v3.2.7
par__test_different_rsync_versions rsync-v3.3.0 Basic use failed - not tested: rsync-v3.3.0 par__test_different_rsync_versions rsync-v3.3.0 Basic use works: rsync-v3.3.0
par_bigvar_csh ### csh par_bigvar_csh ### csh
par_bigvar_csh 3 big vars run remotely - length(base64) > 1000 par_bigvar_csh 3 big vars run remotely - length(base64) > 1000
par_bigvar_csh 1 200 692 par_bigvar_csh 1 200 692
@ -299,13 +299,6 @@ par_bigvar_rc 3 big vars run locally
par_bigvar_rc 1 200 692 par_bigvar_rc 1 200 692
par_bigvar_rc 1 200 692 par_bigvar_rc 1 200 692
par_bigvar_rc 1 150 547 par_bigvar_rc 1 150 547
par_env_underscore ### --env _
par_env_underscore OK FUBAR test
par_env_underscore In csh this may fail with ignored_var: Undefined variable.
par_env_underscore ignored_var: Undefined variable.
par_env_underscore ### --env _ with explicit mentioning of normally ignored var $ignored_var
par_env_underscore OK FUBAR should be copied test
par_env_underscore OK FUBAR should be copied test
par_exporting_in_zsh ### zsh par_exporting_in_zsh ### zsh
par_exporting_in_zsh env in zsh par_exporting_in_zsh env in zsh
par_exporting_in_zsh Normal variable export par_exporting_in_zsh Normal variable export

View file

@ -87,7 +87,7 @@ par_--env_underscore_ksh aliases in functions work
par_--env_underscore_ksh aliases in functions work par_--env_underscore_ksh aliases in functions work
par_--env_underscore_ksh /bin/ksh: myecho: not found par_--env_underscore_ksh /bin/ksh: myecho: not found
par_--env_underscore_ksh OK if no myecho ^^^^^^^^^^^^^^^^^ par_--env_underscore_ksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_ksh script: myecho: not found par_--env_underscore_ksh script[9]: myecho: not found
par_--env_underscore_ksh OK if no myecho ^^^^^^^^^^^^^^^^^ par_--env_underscore_ksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_ksh /bin/ksh: myfunc: not found par_--env_underscore_ksh /bin/ksh: myfunc: not found
par_--env_underscore_ksh OK if no myfunc ^^^^^^^^^^^^^^^^^ par_--env_underscore_ksh OK if no myfunc ^^^^^^^^^^^^^^^^^
@ -101,8 +101,8 @@ par_--env_underscore_mksh variables in aliases in and arrays in functions work
par_--env_underscore_mksh variables in aliases in and arrays in functions work par_--env_underscore_mksh variables in aliases in and arrays in functions work
par_--env_underscore_mksh variables in aliases in and arrays in functions work par_--env_underscore_mksh variables in aliases in and arrays in functions work
par_--env_underscore_mksh variables in aliases in and arrays in functions work par_--env_underscore_mksh variables in aliases in and arrays in functions work
par_--env_underscore_mksh EW: script[9]: not_copied_alias: inaccessible or not found par_--env_underscore_mksh W: script[9]: not_copied_alias: inaccessible or not found
par_--env_underscore_mksh EW: script[9]: not_copied_func: inaccessible or not found par_--env_underscore_mksh W: script[9]: not_copied_func: inaccessible or not found
par_--env_underscore_mksh error=OK par_--env_underscore_mksh error=OK
par_--env_underscore_mksh error=OK par_--env_underscore_mksh error=OK
par_--env_underscore_mksh aliases in and arrays in functions work par_--env_underscore_mksh aliases in and arrays in functions work
@ -113,9 +113,9 @@ par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh The myecho alias is replaced in the function causing this not to fail par_--env_underscore_mksh The myecho alias is replaced in the function causing this not to fail
par_--env_underscore_mksh aliases in functions work par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh The myecho alias is replaced in the function causing this not to fail par_--env_underscore_mksh The myecho alias is replaced in the function causing this not to fail
par_--env_underscore_mksh EW: /bin/mksh: myfunc: inaccessible or not found par_--env_underscore_mksh W: /bin/mksh: myfunc: inaccessible or not found
par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^ par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh EW: script[9]: myfunc: inaccessible or not found par_--env_underscore_mksh W: script[9]: myfunc: inaccessible or not found
par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^ par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_sh ### sh par_--env_underscore_sh ### sh
par_--env_underscore_sh ### Testing of --env _ par_--env_underscore_sh ### Testing of --env _
@ -1130,12 +1130,12 @@ par_env_parallel_--session_mksh ### Test env_parallel --session
par_env_parallel_--session_mksh ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_mksh ### level0 should be hidden, level1 should be transferred
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: script[9]: level0func: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0alias: inaccessible or not found
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: /bin/mksh: level0func: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: /bin/mksh: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0alias: inaccessible or not found
par_env_parallel_--session_mksh l1var par_env_parallel_--session_mksh l1var
par_env_parallel_--session_mksh l1func par_env_parallel_--session_mksh l1func
par_env_parallel_--session_mksh l1alias par_env_parallel_--session_mksh l1alias
@ -1147,20 +1147,20 @@ par_env_parallel_--session_mksh level1 array OK
par_env_parallel_--session_mksh ### level0+1 should be hidden, level2 should be transferred par_env_parallel_--session_mksh ### level0+1 should be hidden, level2 should be transferred
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: script[9]: level0func: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0alias: inaccessible or not found
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: /bin/mksh: level0func: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: /bin/mksh: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0alias: inaccessible or not found
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: script[9]: level1func: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level1func: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: level1alias: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level1alias: inaccessible or not found
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: /bin/mksh: level1func: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level1func: inaccessible or not found
par_env_parallel_--session_mksh EW: /bin/mksh: level1alias: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level1alias: inaccessible or not found
par_env_parallel_--session_mksh l2var par_env_parallel_--session_mksh l2var
par_env_parallel_--session_mksh l2func par_env_parallel_--session_mksh l2func
par_env_parallel_--session_mksh l2alias par_env_parallel_--session_mksh l2alias
@ -1172,12 +1172,12 @@ par_env_parallel_--session_mksh level2 array OK
par_env_parallel_--session_mksh ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_mksh ### level0 should be hidden, level1+2 should be transferred
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: script[9]: level0func: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: level0alias: inaccessible or not found
par_env_parallel_--session_mksh par_env_parallel_--session_mksh
par_env_parallel_--session_mksh fail par_env_parallel_--session_mksh fail
par_env_parallel_--session_mksh EW: /bin/mksh: level0func: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0func: inaccessible or not found
par_env_parallel_--session_mksh EW: /bin/mksh: level0alias: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: level0alias: inaccessible or not found
par_env_parallel_--session_mksh l1var par_env_parallel_--session_mksh l1var
par_env_parallel_--session_mksh l1func par_env_parallel_--session_mksh l1func
par_env_parallel_--session_mksh l1alias par_env_parallel_--session_mksh l1alias
@ -1219,10 +1219,10 @@ par_env_parallel_--session_mksh l2var
par_env_parallel_--session_mksh l2func par_env_parallel_--session_mksh l2func
par_env_parallel_--session_mksh l2alias par_env_parallel_--session_mksh l2alias
par_env_parallel_--session_mksh level2 array OK par_env_parallel_--session_mksh level2 array OK
par_env_parallel_--session_mksh EW: /bin/mksh: aliasbefore: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: aliasbefore: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh EW: /bin/mksh: funcbefore: inaccessible or not found par_env_parallel_--session_mksh W: /bin/mksh: funcbefore: inaccessible or not found
par_env_parallel_--session_mksh EW: script[9]: funcbefore: inaccessible or not found par_env_parallel_--session_mksh W: script[9]: funcbefore: inaccessible or not found
par_env_parallel_--session_mksh no_before par_env_parallel_--session_mksh no_before
par_env_parallel_--session_mksh no_before par_env_parallel_--session_mksh no_before
par_env_parallel_--session_mksh no_before par_env_parallel_--session_mksh no_before
@ -1689,6 +1689,8 @@ par_funky_ash ' par_funky_ash  !"#$%&'"'"'()*+,-./0123456789
par_funky_ash 3 arg alias_works par_funky_ash 3 arg alias_works
par_funky_ash 3 arg alias_works_over_ssh par_funky_ash 3 arg alias_works_over_ssh
par_funky_bash par_funky_bash
par_funky_bash 
par_funky_bash 
par_funky_bash -funkymultiline par_funky_bash -funkymultiline
par_funky_bash -funkymultiline par_funky_bash -funkymultiline
par_funky_bash space 6 par_funky_bash space 6
@ -1700,8 +1702,8 @@ par_funky_bash 3 arg alias_works
par_funky_bash 3 arg alias_works_over_ssh par_funky_bash 3 arg alias_works_over_ssh
par_funky_bash Funkyline- par_funky_bash  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funkyline par_funky_bash Funkyline- par_funky_bash  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funkyline
par_funky_bash Funkyline- par_funky_bash  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funkyline par_funky_bash Funkyline- par_funky_bash  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funkyline
par_funky_bash Funkymultiline- par_funky_bash Funkymultiline-
par_funky_bash Funkymultiline- par_funky_bash Funkymultiline-
par_funky_bash assoc_val_a par_funky_bash assoc_val_a
par_funky_bash assoc_val_a par_funky_bash assoc_val_a
par_funky_bash function_works par_funky_bash function_works

View file

@ -34,7 +34,6 @@ par_path_remote_csh StArT
par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel
par_path_remote_csh parallel: Command not found. par_path_remote_csh parallel: Command not found.
par_path_remote_csh ^^^^^^^^ Not found is OK par_path_remote_csh ^^^^^^^^ Not found is OK
par_path_remote_csh parallel: Warning: Could not figure out number of cpus on lo (). Using 1.
par_path_remote_csh OK: /bin:/usr/bin:/tmp par_path_remote_csh OK: /bin:/usr/bin:/tmp
par_path_remote_csh Done par_path_remote_csh Done
par_retries_1 ### Test of --retries - it should run 13 jobs in total par_retries_1 ### Test of --retries - it should run 13 jobs in total

View file

@ -72,6 +72,9 @@ par_shebang_with_parser_options 5
par_shebang_wrap_R [1] "Arguments arg1" par_shebang_wrap_R [1] "Arguments arg1"
par_shebang_wrap_R [1] "Arguments arg2" par_shebang_wrap_R [1] "Arguments arg2"
par_shebang_wrap_R [1] "Arguments arg3.1 arg3.2" par_shebang_wrap_R [1] "Arguments arg3.1 arg3.2"
par_shebang_wrap_awk Arguments: arg1
par_shebang_wrap_awk Arguments: arg2
par_shebang_wrap_awk Arguments: arg3.1 arg3.2
par_shebang_wrap_bash Arguments arg1 par_shebang_wrap_bash Arguments arg1
par_shebang_wrap_bash Arguments arg2 par_shebang_wrap_bash Arguments arg2
par_shebang_wrap_bash Arguments arg3.1 arg3.2 par_shebang_wrap_bash Arguments arg3.1 arg3.2
@ -87,9 +90,18 @@ par_shebang_wrap_csh Arguments arg3.1 arg3.2
par_shebang_wrap_csharp Arguments arg1 par_shebang_wrap_csharp Arguments arg1
par_shebang_wrap_csharp Arguments arg2 par_shebang_wrap_csharp Arguments arg2
par_shebang_wrap_csharp Arguments arg3.1 arg3.2 par_shebang_wrap_csharp Arguments arg3.1 arg3.2
par_shebang_wrap_fsharp Arguments: [|"arg1"|]
par_shebang_wrap_fsharp Arguments: [|"arg2"|]
par_shebang_wrap_fsharp Arguments: [|"arg3.1 arg3.2"|]
par_shebang_wrap_gnuplot Arguments arg1 par_shebang_wrap_gnuplot Arguments arg1
par_shebang_wrap_gnuplot Arguments arg2 par_shebang_wrap_gnuplot Arguments arg2
par_shebang_wrap_gnuplot Arguments arg3.1 arg3.2 par_shebang_wrap_gnuplot Arguments arg3.1 arg3.2
par_shebang_wrap_groovy Arguments: arg1
par_shebang_wrap_groovy Arguments: arg2
par_shebang_wrap_groovy Arguments: arg3.1 arg3.2
par_shebang_wrap_julia Arguments: arg1
par_shebang_wrap_julia Arguments: arg2
par_shebang_wrap_julia Arguments: arg3.1 arg3.2
par_shebang_wrap_ksh Arguments arg1 par_shebang_wrap_ksh Arguments arg1
par_shebang_wrap_ksh Arguments arg2 par_shebang_wrap_ksh Arguments arg2
par_shebang_wrap_ksh Arguments arg3.1 arg3.2 par_shebang_wrap_ksh Arguments arg3.1 arg3.2
@ -117,9 +129,27 @@ par_shebang_wrap_php Arguments arg3.1 arg3.2
par_shebang_wrap_python Arguments ['arg1'] par_shebang_wrap_python Arguments ['arg1']
par_shebang_wrap_python Arguments ['arg2'] par_shebang_wrap_python Arguments ['arg2']
par_shebang_wrap_python Arguments ['arg3.1 arg3.2'] par_shebang_wrap_python Arguments ['arg3.1 arg3.2']
par_shebang_wrap_racket Arguments: arg1
par_shebang_wrap_racket Arguments: arg2
par_shebang_wrap_racket Arguments: arg3.1 arg3.2
par_shebang_wrap_ruby Arguments arg1 par_shebang_wrap_ruby Arguments arg1
par_shebang_wrap_ruby Arguments arg2 par_shebang_wrap_ruby Arguments arg2
par_shebang_wrap_ruby Arguments arg3.1 arg3.2 par_shebang_wrap_ruby Arguments arg3.1 arg3.2
par_shebang_wrap_scheme Arguments: arg1
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_scheme Arguments: arg2
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_scheme Arguments: arg3.1 arg3.2
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_scheme `/tmp/trip`>/tmp/tripwire;
par_shebang_wrap_scheme 
par_shebang_wrap_sh Arguments arg1 par_shebang_wrap_sh Arguments arg1
par_shebang_wrap_sh Arguments arg2 par_shebang_wrap_sh Arguments arg2
par_shebang_wrap_sh Arguments arg3.1 arg3.2 par_shebang_wrap_sh Arguments arg3.1 arg3.2

View file

@ -0,0 +1,133 @@
par_--env_underscore_fish ### fish
par_--env_underscore_fish Fish is broken
par_--env_underscore_fish ### Testing of --env _
par_--env_underscore_fish Test copying
par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work
par__man_fish ### fish
par__man_fish ### From man env_parallel
par__man_fish aliases with = & " ! ' work
par__man_fish aliases with = & " ! ' work
par__man_fish aliases with = & " ! ' work
par__man_fish aliases with = & " ! ' work
par__man_fish aliases with = & " ! ' work
par__man_fish functions with = & " ! ' work
par__man_fish functions with = & " ! ' work
par__man_fish functions with = & " ! ' work
par__man_fish functions with = & " ! ' work
par__man_fish functions with = & " ! ' work
par__man_fish variables with = & " ! ' work
par__man_fish variables with = & " ! ' work
par__man_fish variables with = & " ! ' work
par__man_fish variables with = & " ! ' work
par__man_fish variables with = & " ! ' work
par__man_fish multiline
par__man_fish variables with = & " ! ' work
par__man_fish multiline
par__man_fish variables with = & " ! ' work
par__man_fish multiline
par__man_fish variables with = & " ! ' work
par__man_fish multiline
par__man_fish variables with = & " ! ' work
par__man_fish multiline
par__man_fish variables with = & " ! ' work
par__man_fish arrays with = & " ! ' work, too
par__man_fish # these 4 fail often. Race condition?
par__man_fish arrays
par__man_fish with = & " ! '
par__man_fish work,
par__man_fish too
par__man_fish arrays
par__man_fish with = & " ! '
par__man_fish work,
par__man_fish too
par__man_fish arrays
par__man_fish with = & " ! '
par__man_fish work,
par__man_fish too
par__man_fish arrays
par__man_fish with = & " ! '
par__man_fish work,
par__man_fish too
par__man_fish multi
par__man_fish level
par__man_fish env_parallel
par__man_fish exit value 2 should be 2
par__man_fish Unknown option: no-such-option
par__man_fish exit value 255 should be 255 `sleep 1`
par_env_parallel_--session_fish ### Test env_parallel --session
par_env_parallel_--session_fish fish: Unknown command: aliasbefore
par_env_parallel_--session_fish fish:
par_env_parallel_--session_fish aliasbefore must_fail
par_env_parallel_--session_fish
par_env_parallel_--session_fish fish: Unknown command: aliasbefore
par_env_parallel_--session_fish script (line 6):
par_env_parallel_--session_fish aliasbefore must_fail
par_env_parallel_--session_fish
par_env_parallel_--session_fish fish: Unknown command: funcbefore
par_env_parallel_--session_fish fish:
par_env_parallel_--session_fish funcbefore must_fail
par_env_parallel_--session_fish
par_env_parallel_--session_fish fish: Unknown command: funcbefore
par_env_parallel_--session_fish script (line 6):
par_env_parallel_--session_fish funcbefore must_fail
par_env_parallel_--session_fish
par_env_parallel_--session_fish no_before
par_env_parallel_--session_fish no_before
par_env_parallel_--session_fish no_before
par_env_parallel_--session_fish no_before
par_env_parallel_--session_fish after aliasafter_OK
par_env_parallel_--session_fish after aliasafter_OK
par_env_parallel_--session_fish after funcafter_OK
par_env_parallel_--session_fish after funcafter_OK
par_env_parallel_--session_fish after varafter_OK
par_env_parallel_--session_fish after varafter_OK
par_env_parallel_--session_fish array after arrayafter_OK
par_env_parallel_--session_fish array after arrayafter_OK
par_env_parallel_fish bug #50435: Remote fifo broke in 20150522
par_env_parallel_fish data from stdin
par_env_parallel_fish OK
par_env_parallel_fish data from stdin
par_env_parallel_fish OK
par_env_parallel_fish OK: 0==0
par_env_parallel_fish ### Test failing command with --cat
par_env_parallel_fish data from stdin
par_env_parallel_fish OK: 1==1
par_env_parallel_fish data from stdin
par_env_parallel_fish OK: 1==1
par_funky_fish env_parallel: Warning: ASCII value 1 in variables is not supported
par_funky_fish 3 arg alias_works
par_funky_fish env_parallel: Warning: ASCII value 1 in variables is not supported
par_funky_fish function_works
par_funky_fish myvar works
par_funky_fish myenvvar works
par_funky_fish space 6
par_funky_fish
par_funky_fish
par_funky_fish
par_funky_fish Funky- par_funky_fish  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_funky_fish Funkyenv- par_funky_fish  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funkyenv
par_funky_fish
par_funky_fish
par_funky_fish
par_funky_fish env_parallel: Warning: ASCII value 1 in variables is not supported
par_funky_fish 3 arg alias_works_over_ssh
par_funky_fish env_parallel: Warning: ASCII value 1 in variables is not supported
par_funky_fish function_works_over_ssh
par_funky_fish myvar works
par_funky_fish myenvvar works
par_funky_fish space 6
par_funky_fish
par_funky_fish
par_funky_fish
par_funky_fish Funky- par_funky_fish  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_funky_fish Funkyenv- par_funky_fish  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funkyenv
par_funky_fish
par_funky_fish
par_funky_fish
par_funky_fish
par_funky_fish ' par_funky_fish  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'

View file

@ -720,6 +720,7 @@ BASH_FUNC_replace_tmpdir%%
BASH_FUNC_run_once%% BASH_FUNC_run_once%%
BASH_FUNC_run_test%% BASH_FUNC_run_test%%
_ _
mysqlrootpass
qTMPDIR qTMPDIR
qqTMPDIR qqTMPDIR
testsuitedir testsuitedir

View file

@ -100,12 +100,10 @@ par_exit 30 environment: line 1: PID Power failure bash -c 'kill -'$1'
par_exit 31 Bash exit value 159 par_exit 31 Bash exit value 159
par_exit 31 Sem exit value 159 par_exit 31 Sem exit value 159
par_exit 31 environment: line 1: PID Bad system call (core dumped) bash -c 'kill -'$1' $$' par_exit 31 environment: line 1: PID Bad system call (core dumped) bash -c 'kill -'$1' $$'
par_exit 32 Bash exit value 160 par_exit 32 Bash exit value 0
par_exit 32 Sem exit value 160 par_exit 32 Sem exit value 0
par_exit 32 environment: line 1: PID Unknown signal 32 bash -c 'kill -'$1' $$' par_exit 33 Bash exit value 0
par_exit 33 Bash exit value 161 par_exit 33 Sem exit value 0
par_exit 33 Sem exit value 161
par_exit 33 environment: line 1: PID Unknown signal 33 bash -c 'kill -'$1' $$'
par_exit 34 Bash exit value 162 par_exit 34 Bash exit value 162
par_exit 34 Sem exit value 162 par_exit 34 Sem exit value 162
par_exit 34 environment: line 1: PID Real-time signal 0 bash -c 'kill -'$1' $$' par_exit 34 environment: line 1: PID Real-time signal 0 bash -c 'kill -'$1' $$'

View file

@ -13,8 +13,8 @@ par__noheaders def 3
par__noheaders abc 1 par__noheaders abc 1
par__noheaders def 3 par__noheaders def 3
par__tablesize ### Test --table-size --tablesize par__tablesize ### Test --table-size --tablesize
par__tablesize 93 par__tablesize 94
par__tablesize 93 par__tablesize 94
par_dburl_user_password_host_port ### Test dburl with username password host port par_dburl_user_password_host_port ### Test dburl with username password host port
par_dburl_user_password_host_port Test dburl with username password host port par_dburl_user_password_host_port Test dburl with username password host port
par_dburl_user_password_host_port OK par_dburl_user_password_host_port OK

View file

@ -100,7 +100,7 @@ par_sqlite bytes
par_sqlite 3072 par_sqlite 3072
par_sqlite Current command: sqlite3 par_sqlite Current command: sqlite3
par_sqlite foo par_sqlite foo
par_sqlite sqltest.sqlite3: SQLite 3.x database, last written using SQLite version 3045001, file counter 1, database pages 2, cookie 0x1, schema 4, UTF-8, version-valid-for 1 par_sqlite sqltest.sqlite3: SQLite 3.x database, last written using SQLite, file counter 1, database pages 2, cookie 0x1, schema 4, UTF-8, version-valid-for 1
par_sqlite n|t par_sqlite n|t
par_sqlite 1|Line 1 par_sqlite 1|Line 1
par_sqlite 2|Line 2 par_sqlite 2|Line 2