parallel: Fixed bug #65839: \257 is not valid UTF-8 when stored in database.

This commit is contained in:
Ole Tange 2024-06-09 20:54:40 +02:00
parent 92b61e9427
commit 39807949ba
17 changed files with 460 additions and 239 deletions

View file

@ -15,11 +15,11 @@ tortest:
make torresults make torresults
torresults: torresults:
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/ torsocks rsync -Hazv --progress tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/
torsync: torsync:
torsocks rsync -Hazv --inplace --progress --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/ torsocks rsync -Hazv --exclude='*.{pdf,gz,bz2,html,deb}' --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/
make tortest make tortest
web: web:

View file

@ -784,10 +784,10 @@ tortest:
make torresults make torresults
torresults: torresults:
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/ torsocks rsync -Hazv --progress tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/
torsync: torsync:
torsocks rsync -Hazv --inplace --progress --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/ torsocks rsync -Hazv --exclude='*.{pdf,gz,bz2,html,deb}' --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/
make tortest make tortest
web: web:

View file

@ -2768,7 +2768,7 @@ sub check_invalid_option_combinations() {
} }
sub test_safe_chars { sub test_safe_chars {
my $var = shift; my $var = shift;
if($ENV{$var} =~ m{^[-a-z0-9_+,.%:/= ]*$}i) { if($ENV{$var} =~ m{^[-a-z0-9_+,.%:/= ]*$}is) {
# OK # OK
} else { } else {
unsafe_warn("\$$var can only contain [-a-z0-9_+,.%:/= ]."); unsafe_warn("\$$var can only contain [-a-z0-9_+,.%:/= ].");
@ -2783,8 +2783,8 @@ sub check_invalid_option_combinations() {
::warning("--cat/--fifo fails under csh ". ::warning("--cat/--fifo fails under csh ".
"if \$TMPDIR contains newline."); "if \$TMPDIR contains newline.");
} }
} elsif($ENV{'TMPDIR'} =~ /\257/) { } elsif($ENV{'TMPDIR'} =~ /\177/) {
unsafe_warn("\$TMPDIR with \\257 (\257) is not supported."); unsafe_warn("\$TMPDIR with \\177 (\177) is not supported.");
} else{ } else{
test_safe_chars('TMPDIR'); test_safe_chars('TMPDIR');
} }
@ -4583,7 +4583,7 @@ sub toggle_progress() {
if($Global::all_jobs_done) { $eta = now()-$Global::start_time; } if($Global::all_jobs_done) { $eta = now()-$Global::start_time; }
my $arg = $Global::newest_job ? my $arg = $Global::newest_job ?
$Global::newest_job->{'commandline'}-> $Global::newest_job->{'commandline'}->
replace_placeholders(["\257<\257>"],0,0) : ""; replace_placeholders(["\177<\177>"],0,0) : "";
$arg = decode_utf8($arg); $arg = decode_utf8($arg);
my $eta_dhms = ::seconds_to_time_units($eta); my $eta_dhms = ::seconds_to_time_units($eta);
my $bar_text = my $bar_text =
@ -12024,7 +12024,7 @@ sub print_parset($) {
# End: (done in wait_and_exit()) # End: (done in wait_and_exit())
# )'`" # )'`"
print '[',::Q($self->{'commandline'}-> print '[',::Q($self->{'commandline'}->
replace_placeholders(["\257<\257>"],0,0)),']='; replace_placeholders(["\177<\177>"],0,0)),']=';
} elsif($Global::parset eq "array") { } elsif($Global::parset eq "array") {
# Start: (done in parse_parset()) # Start: (done in parse_parset())
# eval "`echo 'myassoc=( # eval "`echo 'myassoc=(
@ -13096,21 +13096,21 @@ sub replace_placeholders($$$$) {
# \0spc = unquoted space # \0spc = unquoted space
# \0end = last token element # \0end = last token element
# \0ign = dummy token to be ignored # \0ign = dummy token to be ignored
# \257<...\257> = replacement expression # \177<...\177> = replacement expression
# " " = quoted space, that splits -X group # " " = quoted space, that splits -X group
# text = normal text - possibly part of -X group # text = normal text - possibly part of -X group
my $spacer = 0; my $spacer = 0;
my @tokens = grep { length $_ > 0 } map { my @tokens = grep { length $_ > 0 } map {
if(/^\257<|^ $/) { if(/^\177<|^ $/) {
# \257<...\257> or space # \177<...\177> or space
$_ $_
} else { } else {
# Split each space/tab into a token # Split each space/tab into a token
split /(?=\s)|(?<=\s)/ split /(?=\s)|(?<=\s)/
} }
} }
# Split \257< ... \257> into own token # Split \177< ... \177> into own token
map { split /(?=\257<)|(?<=\257>)/ } map { split /(?=\177<)|(?<=\177>)/ }
# Insert "\0spc" between every element # Insert "\0spc" between every element
# This space should never be quoted # This space should never be quoted
map { $spacer++ ? ("\0spc",$_) : $_ } map { $spacer++ ? ("\0spc",$_) : $_ }
@ -13137,7 +13137,7 @@ sub replace_placeholders($$$$) {
# $self is actually a CommandLine-object, # $self is actually a CommandLine-object,
# but it looks nice to be able to say {= $job->slot() =} # but it looks nice to be able to say {= $job->slot() =}
my $job = $self; my $job = $self;
# @replaced = tokens with \257< \257> replaced # @replaced = tokens with \177< \177> replaced
my @replaced; my @replaced;
if($self->{'context_replace'}) { if($self->{'context_replace'}) {
my @ctxgroup; my @ctxgroup;
@ -13145,7 +13145,7 @@ sub replace_placeholders($$$$) {
# \0end = last token was end of tokens. # \0end = last token was end of tokens.
if($t eq "\t" or $t eq " " or $t eq "\0end" or $t eq "\0spc") { if($t eq "\t" or $t eq " " or $t eq "\0end" or $t eq "\0spc") {
# Context group complete: Replace in it # Context group complete: Replace in it
if(grep { /^\257</ } @ctxgroup) { if(grep { /^\177</ } @ctxgroup) {
# Context group contains a replacement string: # Context group contains a replacement string:
# Copy once per arg # Copy once per arg
my $space = "\0ign"; my $space = "\0ign";
@ -13157,7 +13157,7 @@ sub replace_placeholders($$$$) {
CORE::push @replaced, $space, map { CORE::push @replaced, $space, map {
$a = $_; $a = $_;
if($a =~ if($a =~
s{\257<(-?\d+)?(.*)\257>} s{\177<(-?\d+)?(.*)\177>}
{ {
if($1) { if($1) {
# Positional replace # Positional replace
@ -13172,12 +13172,12 @@ sub replace_placeholders($$$$) {
($arg ? $arg->replace($2,$quote_arg,$self) : ""); ($arg ? $arg->replace($2,$quote_arg,$self) : "");
} }
}sgxe) { }sgxe) {
# Token is \257<..\257> # Token is \177<..\177>
} else { } else {
if($Global::escape_string_present) { if($Global::escape_string_present) {
# Command line contains \257: # Command line contains \177:
# Unescape it \257\256 => \257 # Unescape it \177\256 => \177
$a =~ s/\257\256/\257/g; $a =~ s/\177\176/\177/g;
} }
} }
$a $a
@ -13188,7 +13188,12 @@ sub replace_placeholders($$$$) {
} else { } else {
# Context group has no a replacement string: Copy it once # Context group has no a replacement string: Copy it once
CORE::push @replaced, map { CORE::push @replaced, map {
$Global::escape_string_present and s/\257\256/\257/g; $_; if($Global::escape_string_present) {
# Command line contains \177:
# Unescape it \177\176 => \177
$a =~ s/\177\176/\177/g;
}
$_;
} @ctxgroup; } @ctxgroup;
} }
# New context group # New context group
@ -13206,13 +13211,13 @@ sub replace_placeholders($$$$) {
# Push output # Push output
# repquote = no if {} first on line, no if $quote, yes otherwise # repquote = no if {} first on line, no if $quote, yes otherwise
for my $t (@tokens) { for my $t (@tokens) {
if($t =~ /^\257</) { if($t =~ /^\177</) {
my $space = "\0ign"; my $space = "\0ign";
for my $arg (@$argref) { for my $arg (@$argref) {
my $normal_replace; my $normal_replace;
$a = $t; $a = $t;
$a =~ $a =~
s{\257<(-?\d+)?(.*)\257>} s{\177<(-?\d+)?(.*)\177>}
{ {
if($1) { if($1) {
# Positional replace # Positional replace
@ -13235,7 +13240,7 @@ sub replace_placeholders($$$$) {
} else { } else {
# No replacement # No replacement
CORE::push @replaced, map { CORE::push @replaced, map {
$Global::escape_string_present and s/\257\256/\257/g; $_; $Global::escape_string_present and s/\177\176/\177/g; $_;
} $t; } $t;
} }
} }
@ -13296,7 +13301,7 @@ sub new($) {
@command = merge_rpl_parts(@command); @command = merge_rpl_parts(@command);
# Protect matching inside {= perl expr =} # Protect matching inside {= perl expr =}
# by replacing {= and =} with \257< and \257> # by replacing {= and =} with \177< and \177>
# in options that can contain replacement strings: # in options that can contain replacement strings:
# @command, --transferfile, --return, # @command, --transferfile, --return,
# --tagstring, --workdir, --results # --tagstring, --workdir, --results
@ -13306,21 +13311,21 @@ sub new($) {
@opt::filter) { @opt::filter) {
# Skip if undefined # Skip if undefined
defined($_) or next; defined($_) or next;
# Escape \257 => \257\256 # Escape \177 => \177\176
$Global::escape_string_present += s/\257/\257\256/g; $Global::escape_string_present += s/\177/\177\176/g;
# Needs to match rightmost left parens (Perl defaults to leftmost) # Needs to match rightmost left parens (Perl defaults to leftmost)
# to deal with: {={==} and {={==}=} # to deal with: {={==} and {={==}=}
# Replace {= -> \257< and =} -> \257> # Replace {= -> \177< and =} -> \177>
# #
# Complex way to do: # Complex way to do:
# s/{=(.*)=}/\257<$1\257>/g # s/{=(.*)=}/\177<$1\177>/g
# which would not work # which would not work
s[\Q$Global::parensleft\E # Match {= s[\Q$Global::parensleft\E # Match {=
# Match . unless the next string is {= or =} # Match . unless the next string is {= or =}
# needed to force matching the shortest {= =} # needed to force matching the shortest {= =}
((?:(?! \Q$Global::parensleft\E|\Q$Global::parensright\E ).)*?) ((?:(?! \Q$Global::parensleft\E|\Q$Global::parensright\E ).)*?)
\Q$Global::parensright\E ] # Match =} \Q$Global::parensright\E ] # Match =}
{\257<$1\257>}gxs; {\177<$1\177>}gxs;
for my $rpl (sort { length $b <=> length $a } keys %Global::rpl) { for my $rpl (sort { length $b <=> length $a } keys %Global::rpl) {
# Replace long --rpl's before short ones, as a short may be a # Replace long --rpl's before short ones, as a short may be a
# substring of a long: # substring of a long:
@ -13342,8 +13347,8 @@ sub new($) {
/xs; /xs;
$grp_regexp ||= ''; $grp_regexp ||= '';
my $rplval = $Global::rpl{$rpl}; my $rplval = $Global::rpl{$rpl};
while(s{( (?: ^|\257> ) (?: [^\257]*|[\257][^<>] )*? ) while(s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*? )
# Don't replace after \257 unless \257> # Don't replace after \177 unless \177>
\Q$prefix\E $grp_regexp \Q$postfix\E} \Q$prefix\E $grp_regexp \Q$postfix\E}
{ {
# The start remains the same # The start remains the same
@ -13366,7 +13371,7 @@ sub new($) {
$set_args .= "\$_pAr_gRp$i = \"" . $set_args .= "\$_pAr_gRp$i = \"" .
::perl_quote_scalar($grp[$i]) . "\";"; ::perl_quote_scalar($grp[$i]) . "\";";
} }
$unchanged . "\257<" . $set_args . $rv . "\257>" $unchanged . "\177<" . $set_args . $rv . "\177>"
}gxes) { }gxes) {
} }
# Do the same for the positional replacement strings # Do the same for the positional replacement strings
@ -13374,8 +13379,8 @@ sub new($) {
if($posrpl =~ s/^\{//) { if($posrpl =~ s/^\{//) {
# Only do this if the shorthand start with { # Only do this if the shorthand start with {
$prefix=~s/^\{//; $prefix=~s/^\{//;
# Don't replace after \257 unless \257> # Don't replace after \177 unless \177>
while(s{( (?: ^|\257> ) (?: [^\257]*|[\257][^<>] )*? ) while(s{( (?: ^|\177> ) (?: [^\177]*|[\177][^<>] )*? )
\{(-?\d+) \s* \Q$prefix\E $grp_regexp \Q$postfix\E} \{(-?\d+) \s* \Q$prefix\E $grp_regexp \Q$postfix\E}
{ {
# The start remains the same # The start remains the same
@ -13399,7 +13404,7 @@ sub new($) {
$set_args .= "\$_pAr_gRp$i = \"" . $set_args .= "\$_pAr_gRp$i = \"" .
::perl_quote_scalar($grp[$i]) . "\";"; ::perl_quote_scalar($grp[$i]) . "\";";
} }
$unchanged . "\257<" . $position . $set_args . $rv . "\257>" $unchanged . "\177<" . $position . $set_args . $rv . "\177>"
}gxes) { }gxes) {
} }
} }
@ -13410,7 +13415,7 @@ sub new($) {
replacement_counts_and_lengths($transfer_files, $return_files, replacement_counts_and_lengths($transfer_files, $return_files,
$template_names, $template_contents, $template_names, $template_contents,
@command); @command);
if("@command" =~ /^[^ \t\n=]*\257</) { if("@command" =~ /^[^ \t\n=]*\177</) {
# Replacement string is (part of) the command (and not just # Replacement string is (part of) the command (and not just
# argument or variable definition V1={}) # argument or variable definition V1={})
# E.g. parallel {}, parallel my_{= s/_//=}, parallel {2} # E.g. parallel {}, parallel my_{= s/_//=}, parallel {2}
@ -13503,7 +13508,7 @@ sub replacement_counts_and_lengths($$@) {
my $noncontextlen = 0; my $noncontextlen = 0;
my $contextgroups = 0; my $contextgroups = 0;
for my $c (@cmd) { for my $c (@cmd) {
while($c =~ s/ \257<( (?: [^\257]*|[\257][^<>] )*?)\257> /\000/xs) { while($c =~ s/ \177<( (?: [^\177]*|[\177][^<>] )*?)\177> /\000/xs) {
# %replacecount = { "perlexpr" => number of times seen } # %replacecount = { "perlexpr" => number of times seen }
# e.g { "s/a/b/" => 2 } # e.g { "s/a/b/" => 2 }
$replacecount{$1}++; $replacecount{$1}++;
@ -13511,7 +13516,7 @@ sub replacement_counts_and_lengths($$@) {
} }
# Measure the length of the context around the {= perl expr =} # Measure the length of the context around the {= perl expr =}
# Use that {=...=} has been replaced with \000 above # Use that {=...=} has been replaced with \000 above
# So there is no need to deal with \257< # So there is no need to deal with \177<
while($c =~ s/ (\S*\000\S*) //xs) { while($c =~ s/ (\S*\000\S*) //xs) {
my $w = $1; my $w = $1;
$w =~ tr/\000//d; # Remove all \000's $w =~ tr/\000//d; # Remove all \000's
@ -13528,7 +13533,7 @@ sub replacement_counts_and_lengths($$@) {
# Options that can contain replacement strings # Options that can contain replacement strings
defined($_) or next; defined($_) or next;
my $t = $_; my $t = $_;
while($t =~ s/ \257<( (?: [^\257]*|[\257][^<>] )* )\257> //xs) { while($t =~ s/ \177<( (?: [^\177]*|[\177][^<>] )* )\177> //xs) {
# %replacecount = { "perlexpr" => number of times seen } # %replacecount = { "perlexpr" => number of times seen }
# e.g { "$_++" => 2 } # e.g { "$_++" => 2 }
# But for tagstring we just need to mark it as seen # But for tagstring we just need to mark it as seen
@ -13551,14 +13556,14 @@ sub replacement_counts_and_lengths($$@) {
if($sum == 0) { if($sum == 0) {
if(not @command) { if(not @command) {
# Default command = {} # Default command = {}
@command = ("\257<\257>"); @command = ("\177<\177>");
} elsif(($opt::pipe or $opt::pipepart) } elsif(($opt::pipe or $opt::pipepart)
and not $opt::fifo and not $opt::cat) { and not $opt::fifo and not $opt::cat) {
# With --pipe / --pipe-part you can have no replacement # With --pipe / --pipe-part you can have no replacement
last; last;
} else { } else {
# Append {} to the command if there are no {...}'s and no {=...=} # Append {} to the command if there are no {...}'s and no {=...=}
push @command, ("\257<\257>"); push @command, ("\177<\177>");
} }
} }
} }
@ -13585,7 +13590,7 @@ sub get($) {
$self->{'template_name'}, $self->{'template_name'},
$self->{'template_contents'}, $self->{'template_contents'},
@$SQL::command_ref); @$SQL::command_ref);
if("@command" =~ /^[^ \t\n=]*\257</) { if("@command" =~ /^[^ \t\n=]*\177</) {
# Replacement string is (part of) the command (and not just # Replacement string is (part of) the command (and not just
# argument or variable definition V1={}) # argument or variable definition V1={})
# E.g. parallel {}, parallel my_{= s/_//=}, parallel {2} # E.g. parallel {}, parallel my_{= s/_//=}, parallel {2}
@ -15035,8 +15040,8 @@ sub insert_records($) {
my $command_ref = shift; my $command_ref = shift;
my $record_ref = shift; my $record_ref = shift;
my $table = $self->table(); my $table = $self->table();
# For SQL encode the command with \257 space as split points # For SQL encode the command with \177 space as split points
my $command = join("\257 ",@$command_ref); my $command = join("\177 ",@$command_ref);
my @v_cols = map { ", V$_" } (1..$self->max_number_of_args()); my @v_cols = map { ", V$_" } (1..$self->max_number_of_args());
# Two extra value due to $seq, Exitval, Send # Two extra value due to $seq, Exitval, Send
my $v_vals = join ",", map { "?" } (1..$self->max_number_of_args()+4); my $v_vals = join ",", map { "?" } (1..$self->max_number_of_args()+4);
@ -15083,8 +15088,21 @@ sub get_record($) {
# Save the sequence number to use when running the job # Save the sequence number to use when running the job
$SQL::next_seq = $seq; $SQL::next_seq = $seq;
$self->update("SET Exitval = ? WHERE Seq = ".$seq, -1220); $self->update("SET Exitval = ? WHERE Seq = ".$seq, -1220);
# Command is encoded with '\257 space' as splitting char # Command is encoded with '\177 space' as delimiter
my @command = split /\257 /, shift @$val_ref; my @command;
my $encoded_cmd = shift @$val_ref;
if($encoded_cmd =~ /\177 /) {
@command = split /\177 /, $encoded_cmd;
} else {
# (\257 space for backward compatability)
@command = split /\257 /, $encoded_cmd;
# Recode \257 => \177
for (@command,@$val_ref) {
s/\257</\177</g;
s/\257>/\177>/g;
s/\257\256/\257/g;
}
}
$SQL::command_ref = \@command; $SQL::command_ref = \@command;
for (@$val_ref) { for (@$val_ref) {
push @retval, Arg->new($_); push @retval, Arg->new($_);

View file

@ -285,8 +285,10 @@ add_key_to_auth_key() {
parallel --tag sshaddvagrant ::: centos8 freebsd13 freebsd14 rhel8 centos3 parallel --tag sshaddvagrant ::: centos8 freebsd13 freebsd14 rhel8 centos3
parallel --tag ssh -o StrictHostKeyChecking=accept-new vagrant@{} ::: parallel-server{1..4} centos3 parallel --tag ssh -o StrictHostKeyChecking=accept-new vagrant@{} ::: parallel-server{1..4} centos3
cat ~/.ssh/*pub >> ~/.ssh/authorized_keys cat ~/.ssh/*pub >> ~/.ssh/authorized_keys
# TODO find ipv6 ipv6() {
ipv6= ifconfig | perl -nE '/inet6 ([0-9a-f:]+) .*(host|global)/ and say $1'
}
ipv6=$(ipv6)
parallel --tag ssh -o StrictHostKeyChecking=accept-new {} ::: lo localhost 172.27.27.1 127.0.0.1 ::1 $ipv6 parallel --tag ssh -o StrictHostKeyChecking=accept-new {} ::: lo localhost 172.27.27.1 127.0.0.1 ::1 $ipv6
# parallel sshpass -p vagrant ssh-copy-id vagrant@{} ::: parallel-server{1..4} centos3 # parallel sshpass -p vagrant ssh-copy-id vagrant@{} ::: parallel-server{1..4} centos3
@ -640,7 +642,9 @@ misc() {
echo Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com echo Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
echo MaxStartups 100:30:1000 echo MaxStartups 100:30:1000
echo echo
echo freepl echo strlncopy -> rsync
echo sqlite2
echo
echo 'set $withpassword' echo 'set $withpassword'
echo 'set $mysqlrootpassword in .passwords' echo 'set $mysqlrootpassword in .passwords'
echo '/usr/local/bin/parallel-20120822' echo '/usr/local/bin/parallel-20120822'

View file

@ -4,26 +4,72 @@
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
forceswap() {
perl -e '
my $sleep_after = shift;
# Only output if output is terminal
my $output = -t STDOUT;
sub freekb {
my $free = `free|grep buffers/cache`;
my @a=split / +/,$free;
if($a[3] > 0) {
return $a[3];
}
my $free = `free|grep Mem:`;
my @a=split / +/,$free;
if($a[6] > 0) {
return $a[6];
}
die;
}
sub swapkb {
my $swap = `free|grep Swap:`;
my @a=split / +/,$swap;
return $a[2];
}
my $swap = swapkb();
my $lastswap = $swap;
my $free = freekb();
my @children;
while($lastswap >= $swap) {
$output and print "Swap: $swap Free: $free";
$lastswap = $swap;
$swap = swapkb();
$free = freekb();
my $pct10 = $free * 1024 * 10/100;
my $use = ($pct10 > 2_000_000_000 ? 2_000_000_000 : $pct10);
my $used_mem_single = "x"x($use/1000);
# Faster for large values
my $used_mem = "$used_mem_single"x1000;
my $child = fork();
if($child) {
push @children, $child;
} else {
sleep 120;
exit();
}
}
$output and print "Swap increased $lastswap -> $swap\n";
if($sleep_after) {
$output and print "Sleep $sleep_after\n";
sleep $sleep_after;
}
kill "INT", @children;
' $@
}
echo '### Test niceload -q' echo '### Test niceload -q'
niceload -q perl -e '$a = "works";$b="This $a\n"; print($b);' niceload -q perl -e '$a = "works";$b="This $a\n"; print($b);'
echo echo
freepl >/dev/null # Force swapping
freepl >/dev/null & forceswap >/dev/null
## # Force swapping forceswap >/dev/null &
## MEMAVAIL=$(free | perl -ane '/buffers.cache:/ and print $F[3]')
## while [ $MEMAVAIL -gt 1000000 ] ; do
## BS=$(echo $MEMAVAIL/20 | bc)
## (seq 1 10 | parallel -j0 -N0 --timeout 15 nice nice dd if=/dev/zero bs=${BS}k '|' wc -c >/dev/null &)
## sleep 2
## MEMAVAIL=$(free | perl -ane '/buffers.cache:/ and print $F[3]')
## echo $MEMAVAIL
## done
#echo 1 | parallel --timeout 20 'seq 10000{} | gzip -1 | perl -e '\'\$a=join\"\",\<\>\;\ while\(1\)\{push\ @a,\$a\}\'
# niceload -q -l 5 perl -e '$a=join"",<>; while(1){push @a,$a}' &
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r
echo '### --rm and --runmem' echo '### --rm and --runmem'
@ -36,7 +82,7 @@ echo '### -N and --noswap. Must give 0'
EOF EOF
# force load > 10 # force load > 10
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do while uptime | grep -Ev age:.[1-9][0-9]+.[0-9][0-9] >/dev/null ; do
(timeout 5 nice perl -e 'while(1){}' 2>/dev/null &) (timeout 5 nice perl -e 'while(1){}' 2>/dev/null &)
done done
@ -55,6 +101,3 @@ EOF
#echo '### Test niceload -p' #echo '### Test niceload -p'
#sleep 3 & #sleep 3 &
#nice-load -v -p $! #nice-load -v -p $!
killall freepl 2>/dev/null

View file

@ -897,9 +897,14 @@ par_results_json() {
par_locale_quoting() { par_locale_quoting() {
echo "### quoting in different locales" echo "### quoting in different locales"
printf '\243`/tmp/test\243`\n' printf '\243`/tmp/test\243`\n'
printf '\243`/tmp/test\243`\n' | LC_ALL=zh_HK.big5hkscs xargs echo '$LC_ALL' printf '\243`/tmp/test\243`\n' |
LC_ALL=zh_HK.big5hkscs xargs echo '$LC_ALL'
# LC_ALL should be zh_HK.big5hkscs, but that makes quoting hard. # LC_ALL should be zh_HK.big5hkscs, but that makes quoting hard.
printf '\243`/tmp/test\243`\n' | LC_ALL=zh_HK.big5hkscs parallel -v echo '$LC_ALL' (
printf '\243`/tmp/test\243`\n' |
LC_ALL=zh_HK.big5hkscs parallel -v echo '$LC_ALL' 2>&1
# Locale 'zh_HK.big5hkscs' is unsupported, and may crash the interpreter.
) | G -av is.unsupported,.and.may.crash.the.interpreter.
} }
par_PARALLEL_ENV() { par_PARALLEL_ENV() {

View file

@ -84,15 +84,23 @@ par_quote_special_results() {
mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs | mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs |
perl -pe 's:(/dev/loop|par-test-loop)\S+:$1:g;s/ +/ /g' | perl -pe 's:(/dev/loop|par-test-loop)\S+:$1:g;s/ +/ /g' |
G -v MB/s -v GB/s -v UUID -v Binutils -v 150000 -v exfatprogs | G -v MB/s -v GB/s -v UUID -v Binutils -v 150000 -v exfatprogs |
G -v ID.SIZE.PATH |
# mkfs.xfs -f = crc=1 finobt=1, sparse=1, rmapbt=0
# mkfs.xfs -f = reflink=1 bigtime=0 inobtcount=0
G -v crc=..finobt=...sparse=...rmapbt= -v reflink=..bigtime=..inobtcount= |
# mkfs.xfs -f log =internal log bsize=4096 blocks=16384, version=2
G -v log.=internal.log.bsize= |
# mkfs.btrfs Incompat features: extref, skinny-metadata, no-holes # mkfs.btrfs Incompat features: extref, skinny-metadata, no-holes
# mke2fs 1.46.5 (30-Dec-2021) # mke2fs 1.46.5 (30-Dec-2021)
# btrfs-progs v6.6.3 # btrfs-progs v6.6.3
G -vP Incompat.features -v mke2fs.[.0-9]{5} -v btrfs-progs.v[.0-9]{5} | G -vP Incompat.features -vP mke2fs.[.0-9]{5} -vP btrfs-progs.v[.0-9]{5} |
# F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)
G -vP mkfs.f2fs.Ver:.[.0-9]{5} |
# See https://btrfs.readthedocs.io for more # See https://btrfs.readthedocs.io for more
# mkfs.f2fs Info: Overprovision segments = 27 (GC reserved = 18) # mkfs.f2fs Info: Overprovision segments = 27 (GC reserved = 18)
G -v 'See http' -v Overprovision | G -v 'See http' -v Overprovision |
# mkfs.f2fs /dev/loop 147952 70136 77816 48% /tmp/par-test-loop # mkfs.f2fs /dev/loop 147952 70136 77816 48% /tmp/par-test-loop
perl -pe 's:/dev/loop \d+ \d+ \d+:/dev/loop 999999 99999 99999:' perl -pe 's:/dev/loop \d+ \d+ \d+ \d+:/dev/loop 999999 99999 99999 9:'
# Skip: # Skip:
# mkfs.bfs - ro # mkfs.bfs - ro
# mkfs.cramfs - ro # mkfs.cramfs - ro

View file

@ -299,8 +299,9 @@ par_exit_code() {
parallel -uj0 --halt now,done=1 ::: runit killsleep parallel -uj0 --halt now,done=1 ::: runit killsleep
} }
par_macron() { par_internal_quote_char() {
echo '### See if \257\256 \257<\257> is replaced correctly' echo '### See if \257\256 \257<\257> is replaced correctly'
echo '### See if \177\176 \177<\177> is replaced correctly'
print_it() { print_it() {
parallel $2 ::: "echo $1" parallel $2 ::: "echo $1"
parallel $2 echo ::: "$1" parallel $2 echo ::: "$1"
@ -310,11 +311,27 @@ par_macron() {
parallel $2 echo \""$1"\"{} ::: "$1" parallel $2 echo \""$1"\"{} ::: "$1"
} }
export -f print_it export -f print_it
parallel --tag -k print_it \ a257="$(printf "\257")"
::: "$(perl -e 'print "\257"')" "$(perl -e 'print "\257\256"')" \ a256="$(printf "\256")"
"$(perl -e 'print "\257\257\256"')" \ a177="$(printf "\177")"
"$(perl -e 'print "\257<\257<\257>\257>"')" \ a176="$(printf "\176")"
::: -X -q -Xq -k stdout parallel --tag -k print_it \
::: "$a257" "$a177" "$a257$a256" "$a177$a176" \
"$a257$a257$a256" "$a177$a177$a176" \
"$a257<$a257<$a257>$a257" "$a177<$a177<$a177>$a177" \
::: -X -q -Xq -k |
# Upgrade old bash error to new bash error
perl -pe 's/No such file or directory/Invalid or incomplete multibyte or wide character/g'
cd "$TMPDIR"
echo "Compare old quote char csv"
parallel-20231222 --sqlmaster csv:///./oldformat.csv echo "$(printf "\257\257 \177\177")" ::: 1 2 3
stdout parallel -k --sqlworker csv:///./oldformat.csv echo "$(printf "\257\257 \177\177")" ::: 1 2 3 |
od -t x1z > old.out
echo "with new quote char csv (must be the same)"
parallel --sqlmaster csv:///./newformat.csv echo "$(printf "\257\257 \177\177")" ::: 1 2 3
stdout parallel -k --sqlworker csv:///./newformat.csv echo "$(printf "\257\257 \177\177")" ::: 1 2 3 |
od -t x1z > new.out
diff old.out new.out && echo OK
} }
par_groupby() { par_groupby() {
@ -688,18 +705,26 @@ par__plus_dyn_repl() {
} }
par_test_ipv6_format() { par_test_ipv6_format() {
ipv4() {
ifconfig | perl -nE '/inet (\S+) / and say $1'
}
ipv6() {
ifconfig | perl -nE '/inet6 ([0-9a-f:]+) .*(host|global)/ and say $1'
}
(ipv4; ipv6) |
parallel ssh -oStrictHostKeyChecking=accept-new {} true 2>/dev/null
echo '### Host as IPv6 address' echo '### Host as IPv6 address'
( (
ifconfig | ipv6 |
# Get IPv6 addresses of local server # Get IPv6 addresses of local server
perl -nE '/inet6 ([0-9a-f:]+) .*(host|global)/ and perl -nE '/([0-9a-f:]+)/ and
map {say $1,$_,22; say $1,$_,"ssh"} qw(: . # p q)' | map {say $1,$_,22; say $1,$_,"ssh"} qw(: . # p q)' |
# 9999::9999:9999:22 => [9999::9999:9999]:22 # 9999::9999:9999:22 => [9999::9999:9999]:22
# 9999::9999:9999q22 => 9999::9999:9999 # 9999::9999:9999q22 => 9999::9999:9999
perl -pe 's/(.*):(22|ssh)$/[$1]:$2/;s/q.*//;' perl -pe 's/(.*):(22|ssh)$/[$1]:$2/;s/q.*//;'
ifconfig | ipv4 |
# Get IPv4 addresses # Get IPv4 addresses
perl -nE '/inet (\S+) / and perl -nE '/(\S+)/ and
map {say $1,$_,22; say $1,$_,"ssh"} qw(: q)' | map {say $1,$_,22; say $1,$_,"ssh"} qw(: q)' |
# 9.9.9.9q22 => 9.9.9.9 # 9.9.9.9q22 => 9.9.9.9
perl -pe 's/q.*//;' perl -pe 's/q.*//;'

View file

@ -41,7 +41,7 @@ par__sshpass_with_password() {
( (
stdout parallel --onall -S5/user:'`date>>/tmp/trap`;'@host echo ::: A stdout parallel --onall -S5/user:'`date>>/tmp/trap`;'@host echo ::: A
stdout parallel --onall -S5/user:'`date>>/tmp/trap`;(|<*&)'"'"@host echo ::: A stdout parallel --onall -S5/user:'`date>>/tmp/trap`;(|<*&)'"'"@host echo ::: A
) | perl -pe 's/([a-f0-9]{100,} )+[a-f0-9]{1,}/HEX/g' ) | perl -pe 's/([a-f0-9]{100,} )+[a-f0-9]{1,}/HEX/g; s/\r/\n/g;'
echo This must stay empty echo This must stay empty
cat /tmp/trap cat /tmp/trap
} }

View file

@ -25,22 +25,24 @@ par__test_different_rsync_versions() {
echo '### different versions of rsync need fixups' echo '### different versions of rsync need fixups'
echo '### no output is good' echo '### no output is good'
doit() { doit() {
rm -f 'a`b`c\<d\$e\{#\}g\"h\ i'$2 'a`b`c\<d\$e\{#\}g\"h\ i'$2.out full=$1
touch 'a`b`c\<d\$e\{#\}g\"h\ i'$2 short=$2
rm -f 'a`b`c\<d\$e\{#\}g\"h\ i'$short 'a`b`c\<d\$e\{#\}g\"h\ i'$short.out
touch 'a`b`c\<d\$e\{#\}g\"h\ i'$short
TMPDIR=/tmp tmp=$(mktemp -d) TMPDIR=/tmp tmp=$(mktemp -d)
( (
echo "#!/bin/bash" echo '#!/bin/bash'
echo $1' "$@"' echo $full' "$@"'
) > "$tmp"/rsync ) > "$tmp"/rsync
chmod +x "$tmp"/rsync chmod +x "$tmp"/rsync
PATH="$tmp":"$PATH" PATH="$tmp":"$PATH"
# Test basic rsync # Test basic rsync
if stdout rsync "$tmp"/rsync sh@lo:rsync.$2 >/dev/null ; then if stdout rsync "$tmp"/rsync sh@lo:rsync.$short >/dev/null ; then
echo Basic use works: $2 echo Basic use works: $2
stdout parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\<d\$e\{#\}g\"h\ i'$2 stdout parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\<d\$e\{#\}g\"h\ i'$short
stdout rm 'a`b`c\<d\$e\{#\}g\"h\ i'$2 'a`b`c\<d\$e\{#\}g\"h\ i'$2.out stdout rm 'a`b`c\<d\$e\{#\}g\"h\ i'$short 'a`b`c\<d\$e\{#\}g\"h\ i'$short.out
else else
echo Basic use failed - not tested: $2 echo Basic use failed - not tested: $short
fi fi
rm -rf "$tmp" rm -rf "$tmp"
} }
@ -234,5 +236,5 @@ par_z_multiple_hosts_repeat_arg() {
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 10000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | parallel --timeout 200 -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's:/usr/bin:/bin:g;' perl -pe 's:/usr/bin:/bin:g;'

View file

@ -153,4 +153,4 @@ par__--shellquote_command_len() {
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | G par_ "$@" | sort | compgen -A function | G par_ "$@" | sort |
# 2019-07-14 100% slowed down 4 threads/16GB # 2019-07-14 100% slowed down 4 threads/16GB
parallel -j75% --joblog /tmp/jl-`basename $0` -j3 --tag -k --delay 0.1 --retries 3 '{} 2>&1' parallel --timeout 100 -j75% --joblog /tmp/jl-`basename $0` -j3 --tag -k --delay 0.1 --retries 3 '{} 2>&1'

View file

@ -846,7 +846,7 @@ _EOF
# Old versions of fish sometimes throw up bugs all over, # Old versions of fish sometimes throw up bugs all over,
# but seem to work OK otherwise. So ignore these errors. # but seem to work OK otherwise. So ignore these errors.
ssh fish@lo "$myscript" 2>&1 | ssh fish@lo "$myscript" 2>&1 |
perl -ne '/fish:|fish\(/ and next; print' perl -ne '/^\^|fish:|fish\(/ and next; print'
} }
par_--env_underscore_ksh() { par_--env_underscore_ksh() {
@ -942,7 +942,8 @@ par_--env_underscore_mksh() {
echo "OK if no myfunc ^^^^^^^^^^^^^^^^^" >&2; echo "OK if no myfunc ^^^^^^^^^^^^^^^^^" >&2;
_EOF _EOF
) )
ssh mksh@lo "$myscript" ssh mksh@lo "$myscript" |
perl -pe 's/^[EŴ]:/EW:/g'
} }
par_--env_underscore_sh() { par_--env_underscore_sh() {
@ -2942,7 +2943,8 @@ par_env_parallel_--session_mksh() {
unset PARALLEL_IGNORED_NAMES unset PARALLEL_IGNORED_NAMES
_EOF _EOF
) )
ssh mksh@lo "$myscript" ssh mksh@lo "$myscript" |
perl -pe 's/^[EŴ]:/EW:/g'
} }
par_env_parallel_--session_sh() { par_env_parallel_--session_sh() {

View file

@ -92,7 +92,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 1 par_compress_prg_fails --line-buffer --files 9
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.
@ -709,7 +709,6 @@ 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 ### Test --results on file systems with limited UTF8 support
par_quote_special_results mkfs.btrfs btrfs-progs v5.16.2
par_quote_special_results mkfs.btrfs 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 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 this does not affect your deployments:
@ -731,11 +730,10 @@ 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 Checksum: crc32c
par_quote_special_results mkfs.btrfs Number of devices: 1 par_quote_special_results mkfs.btrfs Number of devices: 1
par_quote_special_results mkfs.btrfs Devices: par_quote_special_results mkfs.btrfs Devices:
par_quote_special_results mkfs.btrfs ID SIZE PATH
par_quote_special_results mkfs.btrfs 1 301.00MiB /dev/shm/par-test-loop 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
par_quote_special_results mkfs.btrfs Filesystem 1K-blocks Used Available Use% Mounted on 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 2% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.btrfs 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./ ./€
@ -754,7 +752,7 @@ par_quote_special_results mkfs.exfat Synchronizing...
par_quote_special_results mkfs.exfat par_quote_special_results mkfs.exfat
par_quote_special_results mkfs.exfat exFAT format complete! 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.exfat /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./ ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+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 . ./+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
@ -770,14 +768,13 @@ 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 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext2 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext2 /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext2 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext2 301+0 records in 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.ext2 301+0 records out
par_quote_special_results mkfs.ext2 mke2fs 1.46.5 (30-Dec-2021)
par_quote_special_results mkfs.ext3 Discarding device blocks: 0/77056 done 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 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 Superblock backups stored on blocks:
@ -789,14 +786,13 @@ 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 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext3 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext3 /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext3 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext3 301+0 records in 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.ext3 301+0 records out
par_quote_special_results mkfs.ext3 mke2fs 1.46.5 (30-Dec-2021)
par_quote_special_results mkfs.ext4 Discarding device blocks: 0/77056 done 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 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 Superblock backups stored on blocks:
@ -808,16 +804,15 @@ 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 Writing superblocks and filesystem accounting information: 0/3 done
par_quote_special_results mkfs.ext4 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ext4 /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.ext4 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.ext4 301+0 records in 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.ext4 301+0 records out
par_quote_special_results mkfs.ext4 mke2fs 1.46.5 (30-Dec-2021)
par_quote_special_results mkfs.reiserfs -fq Filesystem 1K-blocks Used Available Use% Mounted on 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 11% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./ ./€
@ -831,7 +826,7 @@ par_quote_special_results mkfs.ntfs -F Initializing device with zeroes: 0% 0
par_quote_special_results mkfs.ntfs -F Creating NTFS volume structures. 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 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.ntfs -F /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./
@ -848,16 +843,13 @@ par_quote_special_results mkfs.ntfs -F To boot from a device, Windows needs the
par_quote_special_results mkfs.ntfs -F Windows will not be able to boot from this device. 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 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 = sectsz=512 attr=2, projid32bit=1
par_quote_special_results mkfs.xfs -f = crc=1 finobt=1, sparse=1, rmapbt=0
par_quote_special_results mkfs.xfs -f = reflink=1 bigtime=0 inobtcount=0
par_quote_special_results mkfs.xfs -f data = bsize=4096 blocks=77056, imaxpct=25 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 = 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 naming =version 2 bsize=4096 ascii-ci=0, ftype=1
par_quote_special_results mkfs.xfs -f log =internal log bsize=4096 blocks=1368, version=2
par_quote_special_results mkfs.xfs -f = sectsz=512 sunit=0 blks, lazy-count=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 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.xfs -f /dev/loop 999999 99999 99999 6% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./ ./€
@ -871,7 +863,7 @@ par_quote_special_results mkfs.minix Zonesize=1024
par_quote_special_results mkfs.minix Maxsize=268966912 par_quote_special_results mkfs.minix Maxsize=268966912
par_quote_special_results mkfs.minix 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.minix /dev/loop 999999 99999 99999 1% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.minix 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./ ./€
@ -880,7 +872,7 @@ 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.minix 301+0 records out
par_quote_special_results mkfs.fat mkfs.fat 4.2 (2021-01-31) 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.fat /dev/loop 999999 99999 99999 0% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
@ -888,7 +880,7 @@ 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.fat 301+0 records out
par_quote_special_results mkfs.vfat mkfs.fat 4.2 (2021-01-31) 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.vfat /dev/loop 999999 99999 99999 0% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
@ -896,14 +888,13 @@ 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.vfat 301+0 records out
par_quote_special_results mkfs.msdos mkfs.fat 4.2 (2021-01-31) 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.msdos /dev/loop 999999 99999 99999 0% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++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 . ./! ./# ./$ ./% ./& ./' ./( ./) ./++ ./+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 . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./÷ ./ÿ
par_quote_special_results mkfs.msdos 301+0 records in 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.msdos 301+0 records out
par_quote_special_results mkfs.f2fs par_quote_special_results mkfs.f2fs
par_quote_special_results mkfs.f2fs F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)
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: Disable heap-based policy
par_quote_special_results mkfs.f2fs Info: Debug level = 0 par_quote_special_results mkfs.f2fs Info: Debug level = 0
@ -917,7 +908,7 @@ 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: [/dev/shm/par-test-loop Discarding device
par_quote_special_results mkfs.f2fs Info: format successful 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 Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.f2fs /dev/loop 999999 99999 99999 32% /tmp/par-test-loop 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 . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.f2fs 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ 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 ./{ ./| ./} ./~ ./ ./€

View file

@ -2652,105 +2652,200 @@ par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer tha
par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 37. Increasing to --blocksize 50.
par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 50. Increasing to --blocksize 66.
par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87. par_groupby --block 20 C1 $_%=2 csv , parallel: Warning: A record was longer than 66. Increasing to --blocksize 87.
par_macron ### See if \257\256 \257<\257> is replaced correctly par_internal_quote_char ### See if \257\256 \257<\257> is replaced correctly
par_macron ¯ -X ¯ par_internal_quote_char ### See if \177\176 \177<\177> is replaced correctly
par_macron ¯ -X ¯ par_internal_quote_char ¯ -X ¯
par_macron ¯ -X ¯ ¯ par_internal_quote_char ¯ -X ¯
par_macron ¯ -X ¯ ¯ par_internal_quote_char ¯ -X ¯ ¯
par_macron ¯ -X ¯¯ par_internal_quote_char ¯ -X ¯ ¯
par_macron ¯ -X ¯¯ par_internal_quote_char ¯ -X ¯¯
par_macron ¯ -q ¯ par_internal_quote_char ¯ -X ¯¯
par_macron ¯ -q ¯ ¯ par_internal_quote_char ¯ -q ¯
par_macron ¯ -q "¯" ¯ par_internal_quote_char ¯ -q ¯ ¯
par_macron ¯ -q ¯¯ par_internal_quote_char ¯ -q "¯" ¯
par_macron ¯ -q "¯"¯ par_internal_quote_char ¯ -q ¯¯
par_macron ¯ -q /usr/bin/bash: line 1: $'echo \257': command not found par_internal_quote_char ¯ -q "¯"¯
par_macron ¯ -Xq ¯ par_internal_quote_char ¯ -q /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -Xq ¯ ¯ par_internal_quote_char ¯ -Xq ¯
par_macron ¯ -Xq "¯" ¯ par_internal_quote_char ¯ -Xq ¯ ¯
par_macron ¯ -Xq ¯¯ par_internal_quote_char ¯ -Xq "¯" ¯
par_macron ¯ -Xq "¯"¯ par_internal_quote_char ¯ -Xq ¯¯
par_macron ¯ -Xq /usr/bin/bash: line 1: $'echo \257': command not found par_internal_quote_char ¯ -Xq "¯"¯
par_macron ¯ -k ¯ par_internal_quote_char ¯ -Xq /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -k ¯ par_internal_quote_char ¯ -k ¯
par_macron ¯ -k ¯ ¯ par_internal_quote_char ¯ -k ¯
par_macron ¯ -k ¯ ¯ par_internal_quote_char ¯ -k ¯ ¯
par_macron ¯ -k ¯¯ par_internal_quote_char ¯ -k ¯ ¯
par_macron ¯ -k ¯¯ par_internal_quote_char ¯ -k ¯¯
par_macron ¯® -X ¯® par_internal_quote_char ¯ -k ¯¯
par_macron ¯® -X ¯® par_internal_quote_char  -X 
par_macron ¯® -X ¯® ¯® par_internal_quote_char  -X 
par_macron ¯® -X ¯® ¯® par_internal_quote_char  -X ~ 
par_macron ¯® -X ¯®¯® par_internal_quote_char  -X ~ 
par_macron ¯® -X ¯®¯® par_internal_quote_char  -X 
par_macron ¯® -q ¯® par_internal_quote_char  -X 
par_macron ¯® -q ¯® ¯® par_internal_quote_char  -q 
par_macron ¯® -q "¯®" ¯® par_internal_quote_char  -q  
par_macron ¯® -q ¯®¯® par_internal_quote_char  -q "" 
par_macron ¯® -q "¯®"¯® par_internal_quote_char  -q 
par_macron ¯® -q /usr/bin/bash: line 1: $'echo \257\256': command not found par_internal_quote_char  -q ""
par_macron ¯® -Xq ¯® par_internal_quote_char  -q /usr/bin/bash: line 1: $'echo \177': command not found
par_macron ¯® -Xq ¯® ¯® par_internal_quote_char  -Xq 
par_macron ¯® -Xq "¯®" ¯® par_internal_quote_char  -Xq ~ 
par_macron ¯® -Xq ¯®¯® par_internal_quote_char  -Xq "~" 
par_macron ¯® -Xq "¯®"¯® par_internal_quote_char  -Xq 
par_macron ¯® -Xq /usr/bin/bash: line 1: $'echo \257\256': command not found par_internal_quote_char  -Xq ""
par_macron ¯® -k ¯® par_internal_quote_char  -Xq /usr/bin/bash: line 1: $'echo \177': command not found
par_macron ¯® -k ¯® par_internal_quote_char  -k 
par_macron ¯® -k ¯® ¯® par_internal_quote_char  -k 
par_macron ¯® -k ¯® ¯® par_internal_quote_char  -k  
par_macron ¯® -k ¯®¯® par_internal_quote_char  -k  
par_macron ¯® -k ¯®¯® par_internal_quote_char  -k 
par_macron ¯¯® -X ¯¯® par_internal_quote_char  -k 
par_macron ¯¯® -X ¯¯® par_internal_quote_char ¯® -X ¯®
par_macron ¯¯® -X ¯¯® ¯¯® par_internal_quote_char ¯® -X ¯®
par_macron ¯¯® -X ¯¯® ¯¯® par_internal_quote_char ¯® -X ¯® ¯®
par_macron ¯¯® -X ¯¯®¯¯® par_internal_quote_char ¯® -X ¯® ¯®
par_macron ¯¯® -X ¯¯®¯¯® par_internal_quote_char ¯® -X ¯®¯®
par_macron ¯¯® -q ¯¯® par_internal_quote_char ¯® -X ¯®¯®
par_macron ¯¯® -q ¯¯® ¯¯® par_internal_quote_char ¯® -q ¯®
par_macron ¯¯® -q "¯¯®" ¯¯® par_internal_quote_char ¯® -q ¯® ¯®
par_macron ¯¯® -q ¯¯®¯¯® par_internal_quote_char ¯® -q "¯®" ¯®
par_macron ¯¯® -q "¯¯®"¯¯® par_internal_quote_char ¯® -q ¯®¯®
par_macron ¯¯® -q /usr/bin/bash: line 1: $'echo \257\257\256': command not found par_internal_quote_char ¯® -q "¯®"¯®
par_macron ¯¯® -Xq ¯¯® par_internal_quote_char ¯® -q /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯¯® -Xq ¯¯® ¯¯® par_internal_quote_char ¯® -Xq ¯®
par_macron ¯¯® -Xq "¯¯®" ¯¯® par_internal_quote_char ¯® -Xq ¯® ¯®
par_macron ¯¯® -Xq ¯¯®¯¯® par_internal_quote_char ¯® -Xq "¯®" ¯®
par_macron ¯¯® -Xq "¯¯®"¯¯® par_internal_quote_char ¯® -Xq ¯®¯®
par_macron ¯¯® -Xq /usr/bin/bash: line 1: $'echo \257\257\256': command not found par_internal_quote_char ¯® -Xq "¯®"¯®
par_macron ¯¯® -k ¯¯® par_internal_quote_char ¯® -Xq /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯¯® -k ¯¯® par_internal_quote_char ¯® -k ¯®
par_macron ¯¯® -k ¯¯® ¯¯® par_internal_quote_char ¯® -k ¯®
par_macron ¯¯® -k ¯¯® ¯¯® par_internal_quote_char ¯® -k ¯® ¯®
par_macron ¯¯® -k ¯¯®¯¯® par_internal_quote_char ¯® -k ¯® ¯®
par_macron ¯¯® -k ¯¯®¯¯® par_internal_quote_char ¯® -k ¯®¯®
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> par_internal_quote_char ¯® -k ¯®¯®
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> ¯<¯<¯>¯> par_internal_quote_char ~ -X ~
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯> par_internal_quote_char ~ -X ~
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline' par_internal_quote_char ~ -X ~~ ~
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>' par_internal_quote_char ~ -X ~~ ~
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory par_internal_quote_char ~ -X ~~
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory par_internal_quote_char ~ -X ~~
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> par_internal_quote_char ~ -q ~
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯> par_internal_quote_char ~ -q ~ ~
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯> par_internal_quote_char ~ -q "~" ~
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>¯<¯<¯>¯> par_internal_quote_char ~ -q ~~
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>"¯<¯<¯>¯> par_internal_quote_char ~ -q "~"~
par_macron ¯<¯<¯>¯> -q /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found par_internal_quote_char ~ -q /usr/bin/bash: line 1: $'echo \177~': command not found
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> par_internal_quote_char ~ -Xq ~
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> ¯<¯<¯>¯> par_internal_quote_char ~ -Xq ~~ ~
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>" ¯<¯<¯>¯> par_internal_quote_char ~ -Xq "~~" ~
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>¯<¯<¯>¯> par_internal_quote_char ~ -Xq ~~
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>"¯<¯<¯>¯> par_internal_quote_char ~ -Xq "~"~
par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found par_internal_quote_char ~ -Xq /usr/bin/bash: line 1: $'echo \177~': command not found
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> par_internal_quote_char ~ -k ~
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> ¯<¯<¯>¯> par_internal_quote_char ~ -k ~
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯> par_internal_quote_char ~ -k ~ ~
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline' par_internal_quote_char ~ -k ~ ~
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>' par_internal_quote_char ~ -k ~~
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_internal_quote_char ~ -k ~~
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_internal_quote_char ¯¯® -X ¯¯®
par_internal_quote_char ¯¯® -X ¯¯®
par_internal_quote_char ¯¯® -X ¯¯® ¯¯®
par_internal_quote_char ¯¯® -X ¯¯® ¯¯®
par_internal_quote_char ¯¯® -X ¯¯®¯¯®
par_internal_quote_char ¯¯® -X ¯¯®¯¯®
par_internal_quote_char ¯¯® -q ¯¯®
par_internal_quote_char ¯¯® -q ¯¯® ¯¯®
par_internal_quote_char ¯¯® -q "¯¯®" ¯¯®
par_internal_quote_char ¯¯® -q ¯¯®¯¯®
par_internal_quote_char ¯¯® -q "¯¯®"¯¯®
par_internal_quote_char ¯¯® -q /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_internal_quote_char ¯¯® -Xq ¯¯®
par_internal_quote_char ¯¯® -Xq ¯¯® ¯¯®
par_internal_quote_char ¯¯® -Xq "¯¯®" ¯¯®
par_internal_quote_char ¯¯® -Xq ¯¯®¯¯®
par_internal_quote_char ¯¯® -Xq "¯¯®"¯¯®
par_internal_quote_char ¯¯® -Xq /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_internal_quote_char ¯¯® -k ¯¯®
par_internal_quote_char ¯¯® -k ¯¯®
par_internal_quote_char ¯¯® -k ¯¯® ¯¯®
par_internal_quote_char ¯¯® -k ¯¯® ¯¯®
par_internal_quote_char ¯¯® -k ¯¯®¯¯®
par_internal_quote_char ¯¯® -k ¯¯®¯¯®
par_internal_quote_char ~ -X ~
par_internal_quote_char ~ -X ~
par_internal_quote_char ~ -X ~~~ ~
par_internal_quote_char ~ -X ~~~ ~
par_internal_quote_char ~ -X ~~
par_internal_quote_char ~ -X ~~
par_internal_quote_char ~ -q ~
par_internal_quote_char ~ -q ~ ~
par_internal_quote_char ~ -q "~" ~
par_internal_quote_char ~ -q ~~
par_internal_quote_char ~ -q "~"~
par_internal_quote_char ~ -q /usr/bin/bash: line 1: $'echo \177\177~': command not found
par_internal_quote_char ~ -Xq ~
par_internal_quote_char ~ -Xq ~~~ ~
par_internal_quote_char ~ -Xq "~~~" ~
par_internal_quote_char ~ -Xq ~~
par_internal_quote_char ~ -Xq "~"~
par_internal_quote_char ~ -Xq /usr/bin/bash: line 1: $'echo \177\177~': command not found
par_internal_quote_char ~ -k ~
par_internal_quote_char ~ -k ~
par_internal_quote_char ~ -k ~ ~
par_internal_quote_char ~ -k ~ ~
par_internal_quote_char ~ -k ~~
par_internal_quote_char ~ -k ~~
par_internal_quote_char ¯<¯<¯>¯ -X ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -X ¯<¯<¯>¯ ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -X ¯<¯<¯>¯¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -X /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char ¯<¯<¯>¯ -X /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char ¯<¯<¯>¯ -X /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char ¯<¯<¯>¯ -q ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -q ¯<¯<¯>¯ ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -q "¯<¯<¯>¯" ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -q ¯<¯<¯>¯¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -q "¯<¯<¯>¯"¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -q /usr/bin/bash: line 1: $'echo \257<\257<\257>\257': command not found
par_internal_quote_char ¯<¯<¯>¯ -Xq ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -Xq ¯<¯<¯>¯ ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -Xq "¯<¯<¯>¯" ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -Xq ¯<¯<¯>¯¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -Xq "¯<¯<¯>¯"¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -Xq /usr/bin/bash: line 1: $'echo \257<\257<\257>\257': command not found
par_internal_quote_char ¯<¯<¯>¯ -k ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -k ¯<¯<¯>¯ ¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -k ¯<¯<¯>¯¯<¯<¯>¯
par_internal_quote_char ¯<¯<¯>¯ -k /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char ¯<¯<¯>¯ -k /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char ¯<¯<¯>¯ -k /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_internal_quote_char <<> -X <<>
par_internal_quote_char <<> -X ~<~<~>~ <<>
par_internal_quote_char <<> -X <<><<>
par_internal_quote_char <<> -X /usr/bin/bash: line 1: : Invalid or incomplete multibyte or wide character
par_internal_quote_char <<> -X /usr/bin/bash: line 1: ~: Invalid or incomplete multibyte or wide character
par_internal_quote_char <<> -X /usr/bin/bash: line 1: : Invalid or incomplete multibyte or wide character
par_internal_quote_char <<> -q <<>
par_internal_quote_char <<> -q <<> <<>
par_internal_quote_char <<> -q "<<>" <<>
par_internal_quote_char <<> -q <<><<>
par_internal_quote_char <<> -q "<<>"<<>
par_internal_quote_char <<> -q /usr/bin/bash: line 1: $'echo \177<\177<\177>\177': command not found
par_internal_quote_char <<> -Xq <<>
par_internal_quote_char <<> -Xq ~<~<~>~ <<>
par_internal_quote_char <<> -Xq "~<~<~>~" <<>
par_internal_quote_char <<> -Xq <<><<>
par_internal_quote_char <<> -Xq "<<>"<<>
par_internal_quote_char <<> -Xq /usr/bin/bash: line 1: $'echo \177<\177<\177>\177': command not found
par_internal_quote_char <<> -k <<>
par_internal_quote_char <<> -k <<> <<>
par_internal_quote_char <<> -k <<><<>
par_internal_quote_char <<> -k /usr/bin/bash: line 1: : No such file or directory
par_internal_quote_char <<> -k /usr/bin/bash: line 1: : No such file or directory
par_internal_quote_char <<> -k /usr/bin/bash: line 1: : No such file or directory
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072) par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
par_max_length_len_128k 63xxx par_max_length_len_128k 63xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 63xxx

View file

@ -77,10 +77,12 @@ par__sshpass_with_password OK
par__sshpass_with_password ### Crazy passwords: `date>>/tmp/trap`;(|<*&)' par__sshpass_with_password ### Crazy passwords: `date>>/tmp/trap`;(|<*&)'
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 ssh: Could not resolve hostname host: No address associated with hostname par__sshpass_with_password par__sshpass_with_password ssh: Could not resolve hostname host: No address associated with hostname
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 ssh: Could not resolve hostname host: No address associated with hostname par__sshpass_with_password par__sshpass_with_password ssh: Could not resolve hostname host: No address associated with hostname
par__sshpass_with_password
par__sshpass_with_password This must stay empty par__sshpass_with_password This must stay empty
par_csh_variable_newline ### Can csh propagate a variable containing \n par_csh_variable_newline ### Can csh propagate a variable containing \n
par_csh_variable_newline 1 par_csh_variable_newline 1

View file

@ -199,6 +199,11 @@ par__test_different_rsync_versions rsync-v1.6.6 Basic use failed - not tested: r
par__test_different_rsync_versions rsync-v1.6.7 Basic use failed - not tested: rsync-v1.6.7 par__test_different_rsync_versions rsync-v1.6.7 Basic use failed - not tested: rsync-v1.6.7
par__test_different_rsync_versions rsync-v1.6.8 Basic use failed - not tested: rsync-v1.6.8 par__test_different_rsync_versions rsync-v1.6.8 Basic use failed - not tested: rsync-v1.6.8
par__test_different_rsync_versions rsync-v1.6.9 Basic use failed - not tested: rsync-v1.6.9 par__test_different_rsync_versions rsync-v1.6.9 Basic use failed - not tested: rsync-v1.6.9
par__test_different_rsync_versions rsync-v1.7.0 Basic use failed - not tested: rsync-v1.7.0
par__test_different_rsync_versions rsync-v1.7.1 Basic use failed - not tested: rsync-v1.7.1
par__test_different_rsync_versions rsync-v1.7.2 Basic use failed - not tested: rsync-v1.7.2
par__test_different_rsync_versions rsync-v1.7.3 Basic use failed - not tested: rsync-v1.7.3
par__test_different_rsync_versions rsync-v1.7.4 Basic use failed - not tested: rsync-v1.7.4
par__test_different_rsync_versions rsync-v2.0.0 Basic use failed - not tested: rsync-v2.0.0 par__test_different_rsync_versions rsync-v2.0.0 Basic use failed - not tested: rsync-v2.0.0
par__test_different_rsync_versions rsync-v2.0.1 Basic use failed - not tested: rsync-v2.0.1 par__test_different_rsync_versions rsync-v2.0.1 Basic use failed - not tested: rsync-v2.0.1
par__test_different_rsync_versions rsync-v2.0.10 Basic use failed - not tested: rsync-v2.0.10 par__test_different_rsync_versions rsync-v2.0.10 Basic use failed - not tested: rsync-v2.0.10
@ -221,6 +226,30 @@ par__test_different_rsync_versions rsync-v2.0.8 Basic use failed - not tested: r
par__test_different_rsync_versions rsync-v2.0.9 Basic use failed - not tested: rsync-v2.0.9 par__test_different_rsync_versions rsync-v2.0.9 Basic use failed - not tested: rsync-v2.0.9
par__test_different_rsync_versions rsync-v2.1.0 Basic use failed - not tested: rsync-v2.1.0 par__test_different_rsync_versions rsync-v2.1.0 Basic use failed - not tested: rsync-v2.1.0
par__test_different_rsync_versions rsync-v2.1.1 Basic use failed - not tested: rsync-v2.1.1 par__test_different_rsync_versions rsync-v2.1.1 Basic use failed - not tested: rsync-v2.1.1
par__test_different_rsync_versions rsync-v2.2.0 Basic use failed - not tested: rsync-v2.2.0
par__test_different_rsync_versions rsync-v2.2.1 Basic use failed - not tested: rsync-v2.2.1
par__test_different_rsync_versions rsync-v2.3.0 Basic use failed - not tested: rsync-v2.3.0
par__test_different_rsync_versions rsync-v2.3.1 Basic use failed - not tested: rsync-v2.3.1
par__test_different_rsync_versions rsync-v2.3.2 Basic use failed - not tested: rsync-v2.3.2
par__test_different_rsync_versions rsync-v2.4.0 Basic use failed - not tested: rsync-v2.4.0
par__test_different_rsync_versions rsync-v2.4.1 Basic use failed - not tested: rsync-v2.4.1
par__test_different_rsync_versions rsync-v2.4.2 Basic use failed - not tested: rsync-v2.4.2
par__test_different_rsync_versions rsync-v2.4.3 Basic use failed - not tested: rsync-v2.4.3
par__test_different_rsync_versions rsync-v2.4.4 Basic use failed - not tested: rsync-v2.4.4
par__test_different_rsync_versions rsync-v2.4.5 Basic use failed - not tested: rsync-v2.4.5
par__test_different_rsync_versions rsync-v2.4.6 Basic use failed - not tested: rsync-v2.4.6
par__test_different_rsync_versions rsync-v2.5.1 Basic use failed - not tested: rsync-v2.5.1
par__test_different_rsync_versions rsync-v2.5.2 Basic use failed - not tested: rsync-v2.5.2
par__test_different_rsync_versions rsync-v2.5.3 Basic use failed - not tested: rsync-v2.5.3
par__test_different_rsync_versions rsync-v2.5.4 Basic use failed - not tested: rsync-v2.5.4
par__test_different_rsync_versions rsync-v2.5.5 Basic use failed - not tested: rsync-v2.5.5
par__test_different_rsync_versions rsync-v2.5.5.rc1 Basic use failed - not tested: rsync-v2.5.5.rc1
par__test_different_rsync_versions rsync-v2.5.6 Basic use failed - not tested: rsync-v2.5.6
par__test_different_rsync_versions rsync-v2.6.0 Basic use works: rsync-v2.6.0
par__test_different_rsync_versions rsync-v2.6.1 Basic use works: rsync-v2.6.1
par__test_different_rsync_versions rsync-v2.6.2 Basic use works: rsync-v2.6.2
par__test_different_rsync_versions rsync-v2.6.3 Basic use works: rsync-v2.6.3
par__test_different_rsync_versions rsync-v2.6.4 Basic use works: rsync-v2.6.4
par__test_different_rsync_versions rsync-v2.6.5 Basic use works: rsync-v2.6.5 par__test_different_rsync_versions rsync-v2.6.5 Basic use works: rsync-v2.6.5
par__test_different_rsync_versions rsync-v2.6.6 Basic use works: rsync-v2.6.6 par__test_different_rsync_versions rsync-v2.6.6 Basic use works: rsync-v2.6.6
par__test_different_rsync_versions rsync-v2.6.7 Basic use works: rsync-v2.6.7 par__test_different_rsync_versions rsync-v2.6.7 Basic use works: rsync-v2.6.7
@ -248,6 +277,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 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

View file

@ -82,10 +82,8 @@ par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish Test ignoring par_--env_underscore_fish Test ignoring
par_--env_underscore_fish script (line 99): par_--env_underscore_fish script (line 99):
par_--env_underscore_fish not_copied_alias 'error=OK' par_--env_underscore_fish not_copied_alias 'error=OK'
par_--env_underscore_fish ^
par_--env_underscore_fish script (line 99): par_--env_underscore_fish script (line 99):
par_--env_underscore_fish not_copied_func 'error=OK' par_--env_underscore_fish not_copied_func 'error=OK'
par_--env_underscore_fish ^
par_--env_underscore_fish error=OK par_--env_underscore_fish error=OK
par_--env_underscore_fish error=OK par_--env_underscore_fish error=OK
par_--env_underscore_fish Test single ignoring par_--env_underscore_fish Test single ignoring
@ -104,11 +102,9 @@ par_--env_underscore_fish in function 'myfunc' with arguments 'work'
par_--env_underscore_fish called on line 99 of file script par_--env_underscore_fish called on line 99 of file script
par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myecho par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myecho
par_--env_underscore_fish myfunc work par_--env_underscore_fish myfunc work
par_--env_underscore_fish ^
par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myfunc par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myfunc
par_--env_underscore_fish script (line 6): par_--env_underscore_fish script (line 6):
par_--env_underscore_fish myfunc work par_--env_underscore_fish myfunc work
par_--env_underscore_fish ^
par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myfunc par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myfunc
par_--env_underscore_ksh ### ksh par_--env_underscore_ksh ### ksh
par_--env_underscore_ksh ### Testing of --env _ par_--env_underscore_ksh ### Testing of --env _
@ -135,6 +131,14 @@ par_--env_underscore_ksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_ksh script: line 2: myfunc: not found par_--env_underscore_ksh script: line 2: myfunc: not found
par_--env_underscore_ksh OK if no myfunc ^^^^^^^^^^^^^^^^^ par_--env_underscore_ksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh ### mksh par_--env_underscore_mksh ### mksh
par_--env_underscore_mksh W: script[9]: not_copied_alias: inaccessible or not found
par_--env_underscore_mksh W: script[9]: not_copied_func: inaccessible or not found
par_--env_underscore_mksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh W: /bin/mksh: myfunc: inaccessible or not found
par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh W: script[9]: myfunc: inaccessible or not found
par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh ### Testing of --env _ par_--env_underscore_mksh ### Testing of --env _
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
@ -142,8 +146,6 @@ 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 W: script[9]: not_copied_alias: 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
@ -151,13 +153,7 @@ par_--env_underscore_mksh aliases in and arrays in functions work
par_--env_underscore_mksh aliases in functions work par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh aliases in functions work par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh aliases in functions work par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh aliases in functions work par_--env_underscore_mksh aliases in functions work
par_--env_underscore_mksh OK if no myecho ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh W: /bin/mksh: myfunc: inaccessible or not found
par_--env_underscore_mksh OK if no myfunc ^^^^^^^^^^^^^^^^^
par_--env_underscore_mksh W: script[9]: myfunc: inaccessible or not found
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 _
par_--env_underscore_sh variables in aliases work par_--env_underscore_sh variables in aliases work
@ -1246,6 +1242,10 @@ par_env_parallel_--session_ksh after varafter_OK
par_env_parallel_--session_ksh after varafter_OK par_env_parallel_--session_ksh after varafter_OK
par_env_parallel_--session_ksh array after arrayafter_OK par_env_parallel_--session_ksh array after arrayafter_OK
par_env_parallel_--session_ksh array after arrayafter_OK par_env_parallel_--session_ksh array after arrayafter_OK
par_env_parallel_--session_mksh W: /bin/mksh: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh W: script[9]: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh W: /bin/mksh: funcbefore: inaccessible or not found
par_env_parallel_--session_mksh W: script[9]: funcbefore: inaccessible or not found
par_env_parallel_--session_mksh ### Test env_parallel --session 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
@ -1339,10 +1339,6 @@ 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 W: /bin/mksh: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh W: script[9]: aliasbefore: inaccessible or not found
par_env_parallel_--session_mksh W: /bin/mksh: 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