mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 12:47:54 +00:00
parallel: Implemented $PARALLEL_SEQ and $PARALLEL_PID.
-v now only show the command to be run. Use -vv to see the surrounding ssh wrapping. --workdir implemented. Spelling mistakes.
This commit is contained in:
parent
87747a44b4
commit
f085a37a40
|
@ -1,7 +1,27 @@
|
|||
== Bug ==
|
||||
parallel: Implemented $PARALLEL_SEQ and $PARALLEL_PID.
|
||||
-v now only show the command to be run. Use -vv to see the surrounding ssh wrapping.
|
||||
--workdir implemented. Spelling mistakes.
|
||||
|
||||
== Compare ==
|
||||
|
||||
http://code.google.com/p/spawntool/
|
||||
http://code.google.com/p/push/
|
||||
|
||||
== Bug? ==
|
||||
|
||||
.parallel/config with --long-options
|
||||
|
||||
time find . -type f | parallel -j+0 --eta -S..,: --progress --trc {}.gz gzip {}
|
||||
|
||||
== Bug --eta ==
|
||||
|
||||
Only negative.
|
||||
|
||||
== Workdir ==
|
||||
|
||||
Bug: {2} in --return
|
||||
parallel -N2 --workdir ... --cleanup --transfer --return {2}.2 -S .. -v echo {} ">{2}.2" ::: ./tmp/foo ./tmp/bar
|
||||
|
||||
(echo ; echo abc ; echo abc; echo ; echo bbc) | parallel --colsep b -v echo {1}{2}
|
||||
(echo ; echo abc ; echo abc; echo ; echo bbc) | parallel --colsep d -v echo {1}{2}
|
||||
|
||||
== SQL ==
|
||||
|
||||
|
|
|
@ -117,7 +117,9 @@ cc:Peter Simons <simons@cryp.to>, Sandro Cazzaniga <kharec@mandriva.org>,
|
|||
Markus Ammer <mkmm@gmx-topmail.de>, Pavel Nuzhdin <pnzhdin@gmail.com>,
|
||||
Phil Sung <psung@alum.mit.edu>, Michael Shigorin <mike@altlinux.org>,
|
||||
Andrew McFague <amcfague@wgen.net>, Steven M. Christensen <sunfreeware@gmail.com>,
|
||||
Chris Howey <howeyc@gmail.com>
|
||||
Chris Howey <howeyc@gmail.com>, Fethican Coşkuner <fethicanc@gmail.com>,
|
||||
Rogério Brito <rbrito@ime.usp.br>, Jonathan Palardy <jonathan.palardy@gmail.com>,
|
||||
Koen Vervloesem <koen@vervloesem.eu>,
|
||||
|
||||
Subject: GNU Parallel 2010XXXX released
|
||||
|
||||
|
@ -126,11 +128,46 @@ download at: http://ftp.gnu.org/gnu/parallel/
|
|||
|
||||
New in this release:
|
||||
|
||||
* Using -j myfile the number of jobs can be changed while GNU Parallel
|
||||
is running simply by changing the content of myfile.
|
||||
|
||||
* Slow spawning error is now only a warning.
|
||||
|
||||
* If stdin is a tty and input is read from stdin you now get a
|
||||
warning.
|
||||
|
||||
* GNU sql: \n and \x0a in arguments is replaced with newline.
|
||||
|
||||
* Patch for Debian package and spelling mistakes. Thanks to Rogério
|
||||
Brito <rbrito at ime dot usp dot br>
|
||||
|
||||
* Mac OS X Homebrew package. Thanks to Jonathan Palardy <jonathan dot
|
||||
palardy at gmail dot com>
|
||||
|
||||
* FreeBSD port. Thanks to Chris Howey <howeyc at gmail dot com>
|
||||
|
||||
* First review on print:
|
||||
* Pardus package. Thanks to Fethican Coşkuner
|
||||
<fethicanc at gmail dot com>
|
||||
|
||||
* First review in Chinese. Thanks to 曾義峰:
|
||||
http://antbsd.twbbs.org/~ant/wordpress/?p=2876
|
||||
|
||||
* First review in print:
|
||||
http://www.linux-magazine.com/Issues/2010 Nov 2010
|
||||
|
||||
* First review in Spanish:
|
||||
http://www.muylinux.com/2010/10/18/gnu-parallel-computacion-paralela-a-golpe-de-comando
|
||||
|
||||
* First review in Dutch thanks to Koen Vervloesem <koen at vervloesem
|
||||
dot eu>:
|
||||
http://techworld.nl/technologie/33493/gebruik-al-je-processorkernen-met-gnu-parallel.html
|
||||
|
||||
* 3500 views of the intro video:
|
||||
http://www.youtube.com/watch?v=OpaiGYxkSuQ
|
||||
|
||||
* As usual a bunch of bugfixes and more usage examples in the man
|
||||
page.
|
||||
|
||||
Old in this release:
|
||||
|
||||
* See GNU Parallel live at FSCONS 2010-11-07:
|
||||
|
|
171
src/parallel
171
src/parallel
|
@ -18,7 +18,7 @@ B<#!/usr/bin/parallel> --shebang [options] [I<command> [arguments]]
|
|||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
GNU B<parallel> is a shell tool for executing jobs in parallel locally
|
||||
GNU B<parallel> is a shell tool for executing jobs concurrently locally
|
||||
or using remote computers. A job is typically a single command or a
|
||||
small script that has to be run for each of the lines in the
|
||||
input. The typical input is a list of files, a list of hosts, a list
|
||||
|
@ -28,7 +28,7 @@ If you use B<xargs> today you will find GNU B<parallel> very easy to
|
|||
use as GNU B<parallel> is written to have the same options as
|
||||
B<xargs>. If you write loops in shell, you will find GNU B<parallel>
|
||||
may be able to replace most of the loops and make them run faster by
|
||||
running several jobs in parallel. If you use B<ppss> or B<pexec> you
|
||||
running several jobs simultaneously. If you use B<ppss> or B<pexec> you
|
||||
will find GNU B<parallel> will often make the command easier to read.
|
||||
|
||||
GNU B<parallel> makes sure output from the commands is the same output
|
||||
|
@ -383,7 +383,7 @@ If B<--semaphore> is set default is 1 thus making a mutex.
|
|||
|
||||
Add N to the number of CPU cores. Run this many jobs in parallel. For
|
||||
compute intensive jobs B<-j> +0 is useful as it will run
|
||||
number-of-cpu-cores jobs in parallel. See also
|
||||
number-of-cpu-cores jobs simultaneously. See also
|
||||
B<--use-cpus-instead-of-cores>.
|
||||
|
||||
|
||||
|
@ -831,7 +831,7 @@ Use the replacement string I<replace-str> instead of {.} for input line without
|
|||
=item B<--use-cpus-instead-of-cores>
|
||||
|
||||
Count the number of physical CPUs instead of CPU cores. When computing
|
||||
how many jobs to run in parallel relative to the number of CPU cores
|
||||
how many jobs to run simultaneously relative to the number of CPU cores
|
||||
you can ask GNU B<parallel> to instead look at the number of physical
|
||||
CPUs. This will make sense for computers that have hyperthreading as
|
||||
two jobs running on one CPU with hyperthreading will run slower than
|
||||
|
@ -852,14 +852,15 @@ B<--silent>. See also B<-t>.
|
|||
|
||||
Print the version GNU B<parallel> and exit.
|
||||
|
||||
=item B<--workdir> I<dir> (unimplemented)
|
||||
|
||||
=item B<-W> I<dir> (unimplemented)
|
||||
=item B<--workdir> I<mydir> (beta testing)
|
||||
|
||||
=item B<-W> I<mydir> (beta testing)
|
||||
|
||||
Files transferred using B<--transfer> and B<--return> will be relative
|
||||
to workdir on remote machines, and the command will be executed in
|
||||
that dir. The special workdir B<...> will create a workdir i
|
||||
B<~/.parallel/workdirs/> on the remote machines and will be removed if
|
||||
to I<mydir> on remote machines, and the command will be executed in
|
||||
that dir. The special workdir B<...> will create a workdir in
|
||||
B<~/.parallel/tmp/> on the remote machines and will be removed if
|
||||
using B<--cleanup>.
|
||||
|
||||
|
||||
|
@ -1130,7 +1131,7 @@ B<cat list | parallel "do_something {} scale {.}.jpg ; do_step2 <{} {.}" | proce
|
|||
|
||||
=head1 EXAMPLE: Group output lines
|
||||
|
||||
When runnning jobs that output data, you often do not want the output
|
||||
When running jobs that output data, you often do not want the output
|
||||
of multiple jobs to run together. GNU B<parallel> defaults to grouping the
|
||||
output of each job, so the output is printed when the job finishes. If
|
||||
you want the output to be printed while the job is running you can use
|
||||
|
@ -1346,12 +1347,12 @@ Note: The default for GNU B<parallel> is to remove the spaces around the columns
|
|||
B<parallel -a table_file.tsv --trim n --colsep '\t' cmd -o {2} -i {1}>
|
||||
|
||||
|
||||
=head1 EXAMPLE: Working as cat | sh. Ressource inexpensive jobs and evaluation
|
||||
=head1 EXAMPLE: Working as cat | sh. Resource inexpensive jobs and evaluation
|
||||
|
||||
GNU B<parallel> can work similar to B<cat | sh>.
|
||||
|
||||
A ressource inexpensive job is a job that takes very little CPU, disk
|
||||
I/O and network I/O. Ping is an example of a ressource inexpensive
|
||||
A resource inexpensive job is a job that takes very little CPU, disk
|
||||
I/O and network I/O. Ping is an example of a resource inexpensive
|
||||
job. wget is too - if the webpages are small.
|
||||
|
||||
The content of the file jobs_to_run:
|
||||
|
@ -1382,7 +1383,7 @@ background, GNU B<sem> will wait for one of these to complete before
|
|||
starting another command. B<sem --wait> will wait for all jobs to
|
||||
complete.
|
||||
|
||||
Run 10 jobs in parallel in the background:
|
||||
Run 10 jobs concurrently in the background:
|
||||
|
||||
for i in `ls *.log` ; do
|
||||
echo $i
|
||||
|
@ -1531,17 +1532,31 @@ the currently running jobs are finished before exiting.
|
|||
|
||||
=over 9
|
||||
|
||||
=item $PARALLEL_PID - unimplemented
|
||||
=item $PARALLEL_PID
|
||||
|
||||
The environment variable $PARALLEL_PID is set by GNU B<parallel> and
|
||||
is visible to the jobs started from GNU B<parallel>. This makes it
|
||||
possible for the jobs to communicate directly to GNU B<parallel>.
|
||||
Remember to quote the $, so it gets evaluated by the correct
|
||||
shell.
|
||||
|
||||
B<Example:> If each of the jobs tests a solution and one of jobs finds
|
||||
the solution the job can tell GNU B<parallel> not to start more jobs
|
||||
by: B<kill -TERM $PARALLEL_PID>. This only works on the local
|
||||
computer.
|
||||
|
||||
|
||||
=item $PARALLEL_SEQ
|
||||
|
||||
$PARALLEL_SEQ will be set to the sequence number of the job
|
||||
running. Remember to quote the $, so it gets evaluated by the correct
|
||||
shell.
|
||||
|
||||
B<Example:>
|
||||
|
||||
B<seq 1 10 | parallel -N2 echo seq:'$'PARALLEL_SEQ arg1:{1} arg2:{2}>
|
||||
|
||||
|
||||
=item $PARALLEL
|
||||
|
||||
The environment variable $PARALLEL will be used as default options for
|
||||
|
@ -1786,7 +1801,16 @@ B<xargs> has no support for grouping the output, therefore output may
|
|||
run together, e.g. the first half of a line is from one process and
|
||||
the last half of the line is from another process. The example
|
||||
B<Parallel grep> cannot be done reliably with B<xargs> because of
|
||||
this.
|
||||
this. To see this in action try:
|
||||
|
||||
parallel perl -e '\$a=\"1{}\"x10000000\;print\ \$a,\"\\n\"' '>' {} ::: a b c d e f
|
||||
ls -l a b c d e f
|
||||
parallel -kP4 -n1 grep 1 > out.par ::: a b c d e f
|
||||
echo a b c d e f | xargs -P4 -n1 grep 1 > out.xargs-unbuf
|
||||
echo a b c d e f | xargs -P4 -n1 grep --line-buffered 1 > out.xargs-linebuf
|
||||
echo a b c d e f | xargs -n1 grep --line-buffered 1 > out.xargs-serial
|
||||
ls -l out*
|
||||
md5sum out*
|
||||
|
||||
B<xargs> has no support for keeping the order of the output, therefore
|
||||
if running jobs in parallel using B<xargs> the output of the second
|
||||
|
@ -2461,7 +2485,7 @@ sub parse_options {
|
|||
GetOptions("debug|D" => \$::opt_D,
|
||||
"xargs|m" => \$::opt_m,
|
||||
"X" => \$::opt_X,
|
||||
"v" => \$::opt_v,
|
||||
"v" => \@::opt_v,
|
||||
"silent" => \$::opt_silent,
|
||||
"keep-order|keeporder|k" => \$::opt_k,
|
||||
"group|g" => \$::opt_g,
|
||||
|
@ -2524,10 +2548,10 @@ sub parse_options {
|
|||
"Y|shebang|hashbang" => \$::opt_shebang,
|
||||
"skip-first-line" => \$::opt_skip_first_line,
|
||||
) || die_usage();
|
||||
if(defined @::opt_v) { $Global::verbose = $#::opt_v+1; } # Convert -v -v to v=2
|
||||
$Global::debug = (defined $::opt_D);
|
||||
if(defined $::opt_m) { $Global::xargs = 1; }
|
||||
if(defined $::opt_X) { $Global::Xargs = 1; }
|
||||
if(defined $::opt_v) { $Global::verbose = 1; }
|
||||
if(defined $::opt_silent) { $Global::verbose = 0; }
|
||||
if(defined $::opt_k) { $Global::keeporder = 1; }
|
||||
if(defined $::opt_g) { $Global::grouped = 1; }
|
||||
|
@ -3179,7 +3203,7 @@ sub compute_number_of_processes_for_sshlogins {
|
|||
}
|
||||
|
||||
sub compute_number_of_processes {
|
||||
# Number of processes wanted and limited by system ressources
|
||||
# Number of processes wanted and limited by system resources
|
||||
# Returns:
|
||||
# Number of processes
|
||||
my $opt_P = shift;
|
||||
|
@ -3622,6 +3646,15 @@ sub undef_as_zero {
|
|||
return $a ? $a : 0;
|
||||
}
|
||||
|
||||
sub hostname {
|
||||
if(not $Private::hostname) {
|
||||
my $hostname = `hostname`;
|
||||
chomp($hostname);
|
||||
$Private::hostname = $hostname || "nohostname";
|
||||
}
|
||||
return $Private::hostname;
|
||||
}
|
||||
|
||||
sub __RUNNING_AND_PRINTING_THE_JOBS__ {}
|
||||
|
||||
# Variable structure:
|
||||
|
@ -3994,7 +4027,12 @@ sub start_job {
|
|||
}
|
||||
}
|
||||
if($Global::verbose and not $Global::grouped) {
|
||||
print STDOUT $command,"\n";
|
||||
if($Global::verbose == 1) {
|
||||
print STDOUT $clean_command,"\n";
|
||||
} else {
|
||||
# Verbose level > 1: Print the rsync and stuff
|
||||
print STDOUT $command,"\n";
|
||||
}
|
||||
}
|
||||
$Global::total_running++;
|
||||
$Global::total_started++;
|
||||
|
@ -4008,6 +4046,8 @@ sub start_job {
|
|||
$Private::job_start_sequence++;
|
||||
$job_start_sequence = $Private::job_start_sequence;
|
||||
}
|
||||
$ENV{'PARALLEL_SEQ'} = $job_start_sequence;
|
||||
$ENV{'PARALLEL_PID'} = $$;
|
||||
debug("$Global::total_running processes. Starting ($job_start_sequence): $command\n");
|
||||
if(@::opt_a and $job_start_sequence == 1) {
|
||||
# Give STDIN to the first job if using -a
|
||||
|
@ -4062,11 +4102,17 @@ sub print_job {
|
|||
my $out = $fhs->{out};
|
||||
my $err = $fhs->{err};
|
||||
my $command = $fhs->{command};
|
||||
my $clean_command = $fhs->{clean_command};
|
||||
|
||||
debug(">>joboutput $command\n");
|
||||
if($Global::verbose and $Global::grouped) {
|
||||
print STDOUT $command,"\n";
|
||||
# If STDOUT and STDERR is merged, we want the command to be printed first
|
||||
if($Global::verbose == 1) {
|
||||
print STDOUT $clean_command,"\n";
|
||||
} else {
|
||||
# Verbose level > 1: Print the rsync and stuff
|
||||
print STDOUT $command,"\n";
|
||||
}
|
||||
# If STDOUT and STDERR are merged, we want the command to be printed first
|
||||
# so flush to avoid STDOUT being buffered
|
||||
flush STDOUT;
|
||||
}
|
||||
|
@ -4120,6 +4166,7 @@ sub get_command_line_with_sshlogin {
|
|||
my ($sshcmd,$serverlogin) = sshcommand_of_sshlogin($sshlogin);
|
||||
my ($pre,$post)=("","");
|
||||
if($next_command_line and $serverlogin ne ":") {
|
||||
$Global::transfer_seq++;
|
||||
for my $file (@$args_ref) {
|
||||
if($::opt_transfer) {
|
||||
# --transfer
|
||||
|
@ -4138,13 +4185,39 @@ sub get_command_line_with_sshlogin {
|
|||
# We need to save the exit status of the job
|
||||
$post = '_EXIT_status=$?; '.$post.' exit $_EXIT_status;';
|
||||
}
|
||||
return ($pre . "$sshcmd $serverlogin "
|
||||
.shell_quote($next_command_line).";".$post,$clean_command);
|
||||
my $parallel_env = 'PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;'.
|
||||
'PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\;';
|
||||
if($::opt_workdir) {
|
||||
return ($pre . "$sshcmd $serverlogin $parallel_env ".shell_quote("cd ".workdir()." && ")
|
||||
.shell_quote($next_command_line).";".$post,$clean_command);
|
||||
} else {
|
||||
return ($pre . "$sshcmd $serverlogin $parallel_env "
|
||||
.shell_quote($next_command_line).";".$post,$clean_command);
|
||||
}
|
||||
} else {
|
||||
return ($next_command_line,$clean_command);
|
||||
}
|
||||
}
|
||||
|
||||
sub workdir {
|
||||
# Returns:
|
||||
# the workdir on a remote machine
|
||||
my $workdir;
|
||||
if(defined $::opt_workdir) {
|
||||
if($::opt_workdir ne "...") {
|
||||
$workdir = $::opt_workdir;
|
||||
$workdir =~ s:/\./:/:g; # Rsync treats /./ special. We dont want that
|
||||
$workdir =~ s:/+$::; # Remove ending / if any
|
||||
$workdir =~ s:^\./::g; # Remove starting ./ if any
|
||||
} else {
|
||||
$workdir = ".parallel/tmp/".hostname()."-".$$."-".$Global::transfer_seq;
|
||||
}
|
||||
} else {
|
||||
$workdir = ".";
|
||||
}
|
||||
return $workdir;
|
||||
}
|
||||
|
||||
sub get_command_line {
|
||||
# Returns:
|
||||
# next command line
|
||||
|
@ -4424,7 +4497,9 @@ sub control_path_dir {
|
|||
# Returns:
|
||||
# path to directory
|
||||
if(not $Private::control_path_dir) {
|
||||
$Private::control_path_dir = tempdir("/tmp/parallel-ssh-XXXX", CLEANUP => 1 );
|
||||
$Private::control_path_dir =
|
||||
tempdir($ENV{'HOME'}."/.parallel/tmp/control_path_dir-XXXX",
|
||||
CLEANUP => 1);
|
||||
}
|
||||
return $Private::control_path_dir;
|
||||
}
|
||||
|
@ -4450,7 +4525,29 @@ sub sshcleanup {
|
|||
# ssh command needed to remove file from sshlogin
|
||||
my ($sshlogin,$file) = (@_);
|
||||
my ($sshcmd,$serverlogin) = sshcommand_of_sshlogin($sshlogin);
|
||||
return "$sshcmd $serverlogin rm -f ".shell_quote($file);
|
||||
my $workdir = workdir();
|
||||
my $removeworkdir = "";
|
||||
my @subworkdirs = parentdirs_of($file);
|
||||
|
||||
if(@subworkdirs) {
|
||||
$removeworkdir = "; rmdir 2>/dev/null ".join(" ",map { $workdir."/".$_ } @subworkdirs);
|
||||
}
|
||||
my $relpath = ($file !~ m:^/:); # Is the path relative?
|
||||
my $cleandir = ($relpath ? $workdir : "");
|
||||
return "$sshcmd $serverlogin rm -f ".shell_quote($file.$removeworkdir)." ";
|
||||
}
|
||||
|
||||
sub parentdirs_of {
|
||||
# Return:
|
||||
# all parentdirs except . of this dir or file sorted descending by length
|
||||
my $d = shift;
|
||||
my @parents = ();
|
||||
while($d =~ s:/[^/]+$::) {
|
||||
if($d ne ".") {
|
||||
push @parents, $d;
|
||||
}
|
||||
}
|
||||
return @parents;
|
||||
}
|
||||
|
||||
sub sshtransferreturn {
|
||||
|
@ -4463,32 +4560,39 @@ sub sshtransferreturn {
|
|||
$file =~ s:^\./::g; # Remove ./ if any
|
||||
my $relpath = ($file !~ m:^/:); # Is the path relative?
|
||||
# Use different subdirs depending on abs or rel path
|
||||
my $rsync_destdir = ($relpath ? "./" : "/");
|
||||
if($transfer) {
|
||||
# Abs path: rsync -rlDzRE /home/tange/dir/subdir/file.gz server:/
|
||||
# Rel path: rsync -rlDzRE ./subdir/file.gz server:./
|
||||
# Rel path: rsync -rlDzRE ./subdir/file.gz server:.parallel/tmp/tempid/
|
||||
# Rel path: rsync -rlDzRE ./subdir/file.gz server:$workdir/
|
||||
my $remote_workdir = workdir($file);
|
||||
my $rsync_destdir = ($relpath ? $remote_workdir : "/");
|
||||
if($relpath) {
|
||||
$file = "./".$file;
|
||||
}
|
||||
if(-r shell_unquote($file)) {
|
||||
return "rsync $rsync_opt $file $serverlogin:$rsync_destdir";
|
||||
my $mkremote_workdir =
|
||||
$remote_workdir eq "." ? "true" : "ssh $serverlogin mkdir -p $rsync_destdir";
|
||||
return "$mkremote_workdir; rsync $rsync_opt $file $serverlogin:$rsync_destdir";
|
||||
} else {
|
||||
print STDERR "Warning: $file is not readable and will not be transferred\n";
|
||||
return "true"; # dummy command to run
|
||||
}
|
||||
} else {
|
||||
# Return or cleanup
|
||||
my $noext = no_extension($file); # Remove .ext before prepending ./
|
||||
my @cmd = ();
|
||||
my $rsync_destdir = ($relpath ? "./" : "/");
|
||||
for my $ret_file (@Global::ret_files) {
|
||||
my $remove = $removesource ? "--remove-source-files" : "";
|
||||
# If relative path: prepend ./ (to avoid problems with ':')
|
||||
my $replaced = ($relpath ? "./" : "") .
|
||||
# If relative path: prepend workdir/./ to avoid problems if the dir contains ':'
|
||||
# and to get the right relative return path
|
||||
my $replaced = ($relpath ? workdir()."/./" : "") .
|
||||
context_replace($ret_file,[$file],[$noext]);
|
||||
# --return
|
||||
# Abs path: rsync -rlDzRE server:/home/tange/dir/subdir/file.gz /
|
||||
# Rel path: rsync -rlDzRE server:./subsir/file.gz ./
|
||||
push(@cmd, "rsync $rsync_opt $remove $serverlogin:"
|
||||
.shell_quote($replaced)." ".$rsync_destdir);
|
||||
push(@cmd, "rsync $rsync_opt $remove $serverlogin:".
|
||||
shell_quote($replaced) . " ".$rsync_destdir);
|
||||
}
|
||||
return join(";",@cmd);
|
||||
}
|
||||
|
@ -4747,7 +4851,6 @@ sub my_memory_usage {
|
|||
use strict;
|
||||
use FileHandle;
|
||||
|
||||
|
||||
my $pid = $$;
|
||||
if(-e "/proc/$pid/stat") {
|
||||
my $fh = FileHandle->new("</proc/$pid/stat");
|
||||
|
|
2
src/sql
2
src/sql
|
@ -122,7 +122,7 @@ retry the command. Default is I<--retries 1>.
|
|||
|
||||
=item B<-s> I<string>
|
||||
|
||||
Field separator. Use I<string> as seperator between columns.
|
||||
Field separator. Use I<string> as separator between columns.
|
||||
|
||||
|
||||
=item B<--skip-first-line>
|
||||
|
|
1
testsuite/input-files/testdir/ ab /c' d/ ef"g
Normal file
1
testsuite/input-files/testdir/ ab /c' d/ ef"g
Normal file
|
@ -0,0 +1 @@
|
|||
efg
|
1
testsuite/input-files/testdir/ ab/c"d/ef g
Normal file
1
testsuite/input-files/testdir/ ab/c"d/ef g
Normal file
|
@ -0,0 +1 @@
|
|||
efg
|
1
testsuite/input-files/testdir/ ab/c"d/efg
Normal file
1
testsuite/input-files/testdir/ ab/c"d/efg
Normal file
|
@ -0,0 +1 @@
|
|||
efg
|
1
testsuite/input-files/testdir/a b/cd / ef/efg
Normal file
1
testsuite/input-files/testdir/a b/cd / ef/efg
Normal file
|
@ -0,0 +1 @@
|
|||
efg
|
|
@ -1,28 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
PAR=parallel
|
||||
|
||||
rsync -Ha --delete input-files/testdir/ tmp/
|
||||
cd tmp
|
||||
|
||||
echo echo test of cat pipe sh | $PAR -j 50 2>&1
|
||||
find . -name '*.jpg' | $PAR -j +0 convert -geometry 120 {} {}_thumb.jpg
|
||||
echo echo test of cat pipe sh | parallel -j 50 2>&1
|
||||
find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {}_thumb.jpg
|
||||
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
||||
|
||||
ls | $PAR ls | sort
|
||||
ls | $PAR echo ls | sort
|
||||
ls | $PAR -j 1 echo ls | sort
|
||||
find -type f | $PAR diff {} a/foo ">"{}.diff | sort
|
||||
ls | $PAR -vg "ls {}|wc;echo {}" | sort
|
||||
ls | parallel ls | sort
|
||||
ls | parallel echo ls | sort
|
||||
ls | parallel -j 1 echo ls | sort
|
||||
find -type f | parallel diff {} a/foo ">"{}.diff | sort
|
||||
ls | parallel -vg "ls {}|wc;echo {}" | sort
|
||||
echo '### Check that we can have more input than max procs (-j 0)'
|
||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | $PAR -vj 0 touch | sort | tail
|
||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | $PAR -j 0 rm | sort
|
||||
ls | $PAR -j500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||
ls | $PAR -gj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||
ls | $PAR -g "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||
ls | $PAR -vg "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||
ls | $PAR -qg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||
ls | $PAR -qvg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | parallel -vj 0 touch | sort | tail
|
||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | parallel -j 0 rm | sort
|
||||
ls | parallel -j500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||
ls | parallel -gj500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||
find . -type f | parallel -g "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||
find . -type f | parallel -vg "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||
find . -type f | parallel -qg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||
find . -type f | parallel -qvg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||
|
||||
cd ..
|
||||
rm -rf tmp
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
echo '### Test -k'
|
||||
ulimit -n 50
|
||||
(echo "sleep 3; echo begin"; seq 1 30 | parallel -kq echo "sleep 1; echo {}"; echo "echo end") \
|
||||
| parallel -k -j0
|
||||
| stdout parallel -k -j0
|
||||
|
||||
echo '### Test --keep-order'
|
||||
(seq 0 2) | parallel --keep-order -j100% -S 1/:,2/parallel@server2 -q perl -e 'sleep 1;print "job{}\n";exit({})'
|
||||
|
@ -12,4 +12,4 @@ echo '### Test --keeporder'
|
|||
(seq 0 2) | parallel --keeporder -j100% -S 1/:,2/parallel@server2 -q perl -e 'sleep 1;print "job{}\n";exit({})'
|
||||
|
||||
echo '### Test SIGTERM'
|
||||
(sleep 5; killall parallel -TERM) & seq 1 100 | parallel -k sleep 3';' echo
|
||||
(sleep 5; killall parallel -TERM) & seq 1 100 | stdout parallel -k sleep 3';' echo | sort
|
||||
|
|
|
@ -9,8 +9,8 @@ export LANG=C
|
|||
echo '### Test --transfer --return --cleanup'
|
||||
|
||||
rm -rf /tmp/parallel.file*
|
||||
stdout ssh $SERVER1 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
stdout ssh parallel@$SERVER2 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
stdout ssh $SERVER1 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
stdout ssh parallel@$SERVER2 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
(seq 1 3;echo '>fire';seq 5 10; /bin/echo ' : & ) \n*.jpg'; echo '/./sub dir'; seq 13 20) >/tmp/test17
|
||||
echo '# Create some weirdly files in /tmp'
|
||||
mkdir -p /tmp/parallel.file
|
||||
|
@ -19,8 +19,8 @@ cat /tmp/test17 | parallel -k /bin/echo /tmp/parallel.file{}.file >/tmp/test17ab
|
|||
cat /tmp/test17 | parallel -k /bin/echo tmp/parallel.file{}.file >/tmp/test17rel
|
||||
|
||||
echo '### --transfer - abspath'
|
||||
stdout ssh $SERVER1 'rm -rf tmp/parallel.file*'
|
||||
stdout ssh parallel@$SERVER2 'rm -rf tmp/parallel.file*'
|
||||
stdout ssh $SERVER1 'rm -rf /tmp/parallel.file*'
|
||||
stdout ssh parallel@$SERVER2 'rm -rf /tmp/parallel.file*'
|
||||
cat /tmp/test17abs | parallel -k --transfer --sshlogin $SERVER1,parallel@$SERVER2 cat {}";"rm {}
|
||||
# One of these should give the empty dir /tmp/parallel.file
|
||||
echo good if no file
|
||||
|
@ -62,7 +62,7 @@ ls /tmp/parallel.file*out /tmp/parallel.file/*out
|
|||
|
||||
echo '### --return - relpath'
|
||||
rm -rf /tmp/parallel.file*out
|
||||
cat /tmp/test17rel | parallel -k --return {.}.out --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'echo {} ">"{.}.out
|
||||
cat /tmp/test17rel | parallel -k --return {.}.out --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp/parallel.file ';'echo {} ">"{.}.out
|
||||
ls tmp/parallel.file*out tmp/parallel.file/*out
|
||||
|
||||
echo '### --return - multiple files'
|
||||
|
@ -74,7 +74,7 @@ ls tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/paral
|
|||
echo '### --return --cleanup - abspath'
|
||||
rm -rf /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done
|
||||
cat /tmp/test17abs | parallel -k --return {.}.out --return {}.done --cleanup \
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp/parallel.file ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
ls /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls '/tmp/parallel.file*' || echo OK
|
||||
|
@ -84,7 +84,7 @@ stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' || echo OK
|
|||
echo '### --return --cleanup - relpath'
|
||||
rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done
|
||||
cat /tmp/test17rel | parallel -k --return {.}.out --return {}.done --cleanup \
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp/parallel.file ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
ls tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls 'tmp/parallel.file*' || echo OK
|
||||
|
@ -94,7 +94,7 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK
|
|||
echo '### --return --cleanup - multiple returns'
|
||||
rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done
|
||||
cat /tmp/test17rel | parallel -k --return {.}.out --return {}.done --cleanup \
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp/parallel.file ';'echo {} ">"{.}.out';'echo {} ">"{}.done';'
|
||||
ls /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls 'tmp/parallel.file*' || echo OK
|
||||
|
@ -104,7 +104,7 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK
|
|||
echo '### --transfer --return --cleanup - abspath'
|
||||
rm -rf /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done
|
||||
cat /tmp/test17abs | parallel -k --transfer --return {.}.out --return {}.done --cleanup \
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'cat {} ">"{.}.out';'cat {} ">"{}.done';'
|
||||
--sshlogin $SERVER1,parallel@$SERVER2 cat {} ">"{.}.out';'cat {} ">"{}.done';'
|
||||
ls /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls '/tmp/parallel.file*' || echo OK
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
# TODO return multiple
|
||||
|
||||
PAR=parallel
|
||||
|
||||
SERVER1=parallel-server3
|
||||
SERVER2=parallel-server2
|
||||
|
||||
|
@ -19,7 +17,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --transfer --sshlogin $SERVER1,parallel@$SERVER2 cat {}";"rm {}
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --transfer --sshlogin $SERVER1,parallel@$SERVER2 cat {}";"rm {}
|
||||
# Should give: No such file or directory
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls 'tmp/parallel.file*'
|
||||
|
@ -31,7 +29,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --transfer --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {}
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --transfer --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {}
|
||||
# Should give: No such file or directory
|
||||
echo good if no file
|
||||
stdout ssh $SERVER1 ls 'tmp/parallel.file*'
|
||||
|
@ -39,11 +37,12 @@ stdout ssh $SERVER1 ls 'tmp/parallel.file*'
|
|||
stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*'
|
||||
|
||||
echo '### --return - file with newline'
|
||||
rm -rf /tmp/parallel.file.*newline*
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --return {}.out --sshlogin $SERVER1,parallel@$SERVER2 echo remote '>' {}.out
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --return {}.out --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp\;echo remote '>' {}.out
|
||||
ls tmp/parallel*newline*out
|
||||
rm tmp/parallel*newline*out
|
||||
# Cleanup remote
|
||||
|
@ -55,7 +54,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --return {}.out --cleanup --sshlogin $SERVER1,parallel@$SERVER2 echo remote '>' {}.out
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --return {}.out --cleanup --sshlogin $SERVER1,parallel@$SERVER2 echo remote '>' {}.out
|
||||
ls tmp/parallel*newline*out
|
||||
rm tmp/parallel*newline*out
|
||||
echo good if no file
|
||||
|
@ -68,7 +67,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --transfer --return {}.out --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --transfer --return {}.out --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out
|
||||
ls tmp/parallel*newline*out
|
||||
rm tmp/parallel*newline*out
|
||||
echo good if no file
|
||||
|
@ -81,7 +80,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --trc {}.out --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --trc {}.out --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out
|
||||
ls tmp/parallel*newline*out
|
||||
rm tmp/parallel*newline*out
|
||||
echo good if no file
|
||||
|
@ -94,7 +93,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k --trc {}.out --trc {}.out2 --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out';'cat {} '>' {}.out2
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k --trc {}.out --trc {}.out2 --sshlogin $SERVER1,parallel@$SERVER2 cat {} '>' {}.out';'cat {} '>' {}.out2
|
||||
ls tmp/parallel*newline*out*
|
||||
rm tmp/parallel*newline*out*
|
||||
echo good if no file
|
||||
|
@ -111,7 +110,7 @@ echo newline > '/tmp/parallel.file.
|
|||
newline1'
|
||||
echo newline > '/tmp/parallel.file.
|
||||
newline2'
|
||||
find tmp/parallel*newline* -print0 | $PAR -0 -k -j1 --trc {}.out --trc {}.out2 \
|
||||
find tmp/parallel*newline* -print0 | parallel -0 -k -j1 --trc {}.out --trc {}.out2 \
|
||||
--sshlogin "/tmp/myssh1 $SERVER1, /tmp/myssh2 parallel@$SERVER2" \
|
||||
cat {} '>' {}.out';'cat {} '>' {}.out2
|
||||
ls tmp/parallel*newline*out*
|
||||
|
@ -120,13 +119,13 @@ echo good if no file
|
|||
stdout ssh $SERVER1 ls 'tmp/parallel.file*' || echo OK
|
||||
# Should give: No such file or directory
|
||||
stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK
|
||||
echo Input for ssh
|
||||
cat /tmp/myssh1-run /tmp/myssh2-run
|
||||
echo 'Input for ssh'
|
||||
cat /tmp/myssh1-run /tmp/myssh2-run | perl -pe 's/PID=\d+/PID=00000/g'
|
||||
rm /tmp/myssh1-run /tmp/myssh2-run
|
||||
|
||||
echo '### Test use special ssh with > 9 simultaneous'
|
||||
echo 'ssh "$@"; echo "$@" >>/tmp/myssh1-run' >/tmp/myssh1
|
||||
echo 'ssh "$@"; echo "$@" >>/tmp/myssh2-run' >/tmp/myssh2
|
||||
chmod 755 /tmp/myssh1 /tmp/myssh2
|
||||
seq 1 100 | $PAR --sshlogin "/tmp/myssh1 $SERVER1, /tmp/myssh2 parallel@$SERVER2" \
|
||||
seq 1 100 | parallel --sshlogin "/tmp/myssh1 $SERVER1, /tmp/myssh2 parallel@$SERVER2" \
|
||||
-j10000% -k echo
|
||||
|
|
|
@ -7,11 +7,11 @@ echo '### Test $PARALLEL'
|
|||
echo | PARALLEL=--number-of-cpus parallel
|
||||
seq 1 2 | PARALLEL="-S$SERVER1
|
||||
-Sssh -l parallel $SERVER2
|
||||
-j1" parallel -kv echo
|
||||
-j1" parallel -kvv echo
|
||||
|
||||
echo '### Test ~/.parallel/config'
|
||||
echo "-S$SERVER1
|
||||
-Sssh -l parallel $SERVER2
|
||||
-j1" > ~/.parallel/config
|
||||
seq 1 2 | parallel -kv echo
|
||||
seq 1 2 | parallel -kvv echo
|
||||
rm ~/.parallel/config
|
||||
|
|
45
testsuite/tests-to-run/test35.sh
Executable file
45
testsuite/tests-to-run/test35.sh
Executable file
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
|
||||
rsync -Ha --delete input-files/testdir/ tmp/
|
||||
cd tmp
|
||||
|
||||
SERVER2=parallel@parallel-server2
|
||||
|
||||
echo $SERVER2 >~/.parallel/sshloginfile
|
||||
|
||||
echo '### Test -W newtempdir/newdir/tmp/ with space dirs'
|
||||
ssh $SERVER2 rm -rf newtempdir
|
||||
stdout parallel -k -W newtempdir/newdir/tmp/ --basefile 1-col.txt --trc {}.6 -S .. -v echo ">"{}.6 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg'
|
||||
# A few rmdir errors are OK as we have multiple files in the same dirs
|
||||
find . -name '*.6'
|
||||
|
||||
echo '### Test -W /tmp/newtempdir/newdir/tmp/ with space dirs'
|
||||
ssh $SERVER2 rm -rf /tmp/newtempdir
|
||||
stdout parallel -k -W /tmp/newtempdir/newdir/tmp/ --basefile 1-col.txt --trc {}.7 -S .. -v echo ">"{}.7 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg'
|
||||
# A few rmdir errors are OK as we have multiple files in the same dirs
|
||||
find . -name '*.7'
|
||||
|
||||
echo '### Test --workdir ...'
|
||||
parallel -k --workdir ... --basefile 1-col.txt --trc {}.1 -S .. echo ">"{}.1 ::: 2-col.txt
|
||||
find . -name '*.1'
|
||||
|
||||
echo '### Test -W ...'
|
||||
parallel -k -W ... --basefile 1-col.txt --trc {}.2 -S .. -v echo ">"{}.2 ::: 2-col.txt
|
||||
find . -name '*.2'
|
||||
|
||||
echo '### Test -W ... with space dirs'
|
||||
stdout parallel -k -W ... --basefile 1-col.txt --trc {}.3 -S .. -v echo ">"{}.3 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg'
|
||||
# A few rmdir errors are OK as we have multiple files in the same dirs
|
||||
find . -name '*.3'
|
||||
|
||||
echo '### Test -W tmpdir'
|
||||
parallel -k -W tmpdir --basefile 1-col.txt --trc {}.4 -S .. -v echo ">"{}.4 ::: 2-col.txt
|
||||
find . -name '*.4'
|
||||
|
||||
echo '### Test -W /tmp/ with space dirs'
|
||||
stdout parallel -k -W /tmp/ --basefile 1-col.txt --trc {}.5 -S .. -v echo ">"{}.5 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg'
|
||||
# A few rmdir errors are OK as we have multiple files in the same dirs
|
||||
find . -name '*.5'
|
||||
|
||||
cd ..
|
||||
rm -rf tmp
|
16
testsuite/tests-to-run/test36.sh
Normal file
16
testsuite/tests-to-run/test36.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
SERVER1=parallel-server3
|
||||
SERVER2=parallel-server2
|
||||
|
||||
echo '### Test $PARALLEL_SEQ - local'
|
||||
seq 1 20 | parallel -kN2 echo arg1:{1} seq:'$'PARALLEL_SEQ arg2:{2}
|
||||
|
||||
echo '### Test $PARALLEL_SEQ - remote'
|
||||
seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} seq:'$'PARALLEL_SEQ arg2:{2}
|
||||
|
||||
echo '### Test $PARALLEL_PID - local'
|
||||
seq 1 20 | parallel -kN2 echo arg1:{1} seq:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d/0/g'
|
||||
|
||||
echo '### Test $PARALLEL_PID - remote'
|
||||
seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} seq:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d/0/g'
|
|
@ -3,33 +3,51 @@ test of cat pipe sh
|
|||
2-col.txt
|
||||
bar
|
||||
bar
|
||||
c"d
|
||||
c' d
|
||||
cd
|
||||
foo
|
||||
foo
|
||||
foo2
|
||||
ls ab
|
||||
ls ab
|
||||
ls 1-col.txt
|
||||
ls 2-col.txt
|
||||
ls a
|
||||
ls a b
|
||||
ls b
|
||||
ls ab
|
||||
ls ab
|
||||
ls 1-col.txt
|
||||
ls 2-col.txt
|
||||
ls a
|
||||
ls a b
|
||||
ls b
|
||||
1 1 4
|
||||
1 1 4
|
||||
1 1 10
|
||||
1 1 10
|
||||
1 1 15
|
||||
1 1 15
|
||||
1 2 5
|
||||
4 4 26
|
||||
6 6 41
|
||||
ab
|
||||
ab
|
||||
1-col.txt
|
||||
1-col.txt.diff
|
||||
2-col.txt
|
||||
2-col.txt.diff
|
||||
a
|
||||
a b
|
||||
b
|
||||
ls 1-col.txt.diff|wc;echo 1-col.txt.diff
|
||||
ls 1-col.txt|wc;echo 1-col.txt
|
||||
ls 2-col.txt.diff|wc;echo 2-col.txt.diff
|
||||
ls 2-col.txt|wc;echo 2-col.txt
|
||||
ls \ ab\ |wc;echo \ ab\
|
||||
ls \ ab|wc;echo \ ab
|
||||
ls a\ b|wc;echo a\ b
|
||||
ls a|wc;echo a
|
||||
ls b|wc;echo b
|
||||
### Check that we can have more input than max procs (-j 0)
|
||||
|
@ -146,6 +164,9 @@ touch more_than_5000-9999
|
|||
1 more_than_5000-9997
|
||||
1 more_than_5000-9998
|
||||
1 more_than_5000-9999
|
||||
2 ab
|
||||
2 a b
|
||||
4 ab
|
||||
4 b
|
||||
6 a
|
||||
1 1-col.txt
|
||||
|
@ -251,239 +272,322 @@ touch more_than_5000-9999
|
|||
1 more_than_5000-9997
|
||||
1 more_than_5000-9998
|
||||
1 more_than_5000-9999
|
||||
2 ab
|
||||
2 a b
|
||||
4 ab
|
||||
4 b
|
||||
6 a
|
||||
1-col.txt.diff
|
||||
1-col.txt.diff
|
||||
2-col.txt
|
||||
2-col.txt
|
||||
2-col.txt.diff
|
||||
2-col.txt.diff
|
||||
1-col.txt.diff
|
||||
1-col.txt.diff
|
||||
2-col.txt
|
||||
2-col.txt
|
||||
2-col.txt.diff
|
||||
2-col.txt.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 1-col.txt
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 1-col.txt.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 2-col.txt
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 2-col.txt.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' a
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' b
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9901
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9902
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9903
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9904
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9905
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9906
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9907
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9908
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9909
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9910
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9911
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9912
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9913
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9914
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9915
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9916
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9917
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9918
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9919
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9920
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9921
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9922
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9923
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9924
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9925
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9926
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9927
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9928
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9929
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9930
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9931
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9932
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9933
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9934
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9935
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9936
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9937
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9938
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9939
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9940
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9941
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9942
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9943
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9944
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9945
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9946
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9947
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9948
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9949
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9950
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9951
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9952
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9953
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9954
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9955
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9956
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9957
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9958
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9959
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9960
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9961
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9962
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9963
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9964
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9965
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9966
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9967
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9968
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9969
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9970
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9971
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9972
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9973
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9974
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9975
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9976
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9977
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9978
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9979
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9980
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9981
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9982
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9983
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9984
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9985
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9986
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9987
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9988
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9989
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9990
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9991
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9992
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9993
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9994
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9995
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9996
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9997
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9998
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9999
|
||||
1-col.txt.diff
|
||||
1-col.txt.diff
|
||||
2-col.txt
|
||||
2-col.txt
|
||||
2-col.txt.diff
|
||||
2-col.txt.diff
|
||||
1-col.txt.diff
|
||||
1-col.txt.diff
|
||||
2-col.txt
|
||||
2-col.txt
|
||||
2-col.txt.diff
|
||||
2-col.txt.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 1-col.txt
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 1-col.txt.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 2-col.txt
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 2-col.txt.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" a
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" b
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9901
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9902
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9903
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9904
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9905
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9906
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9907
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9908
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9909
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9910
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9911
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9912
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9913
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9914
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9915
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9916
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9917
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9918
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9919
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9920
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9921
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9922
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9923
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9924
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9925
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9926
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9927
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9928
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9929
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9930
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9931
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9932
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9933
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9934
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9935
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9936
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9937
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9938
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9939
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9940
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9941
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9942
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9943
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9944
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9945
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9946
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9947
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9948
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9949
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9950
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9951
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9952
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9953
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9954
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9955
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9956
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9957
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9958
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9959
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9960
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9961
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9962
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9963
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9964
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9965
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9966
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9967
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9968
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9969
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9970
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9971
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9972
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9973
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9974
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9975
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9976
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9977
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9978
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9979
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9980
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9981
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9982
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9983
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9984
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9985
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9986
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9987
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9988
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9989
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9990
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9991
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9992
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9993
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9994
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9995
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9996
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9997
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9998
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9999
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./1-col.txt.diff
|
||||
./1-col.txt.diff
|
||||
./2-col.txt
|
||||
./2-col.txt
|
||||
./2-col.txt.diff
|
||||
./2-col.txt.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a/bar.diff
|
||||
./a/bar.diff
|
||||
./b/bar.diff
|
||||
./b/bar.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./1-col.txt.diff
|
||||
./1-col.txt.diff
|
||||
./2-col.txt
|
||||
./2-col.txt
|
||||
./2-col.txt.diff
|
||||
./2-col.txt.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a/bar.diff
|
||||
./a/bar.diff
|
||||
./b/bar.diff
|
||||
./b/bar.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./1-col.txt
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./1-col.txt.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./2-col.txt
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./2-col.txt.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab/c\"d/ef\ g
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab/c\"d/ef\ g.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab/c\"d/efg
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab/c\"d/efg.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab\ /c\'\ d/\ ef\"g
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./\ ab\ /c\'\ d/\ ef\"g.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/bar
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/bar.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/foo
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/foo.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/foo2
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a/foo2.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a\ b/cd\ /\ ef/efg
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./a\ b/cd\ /\ ef/efg.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./b/bar
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./b/bar.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./b/foo
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./b/foo.diff
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9901
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9902
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9903
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9904
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9905
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9906
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9907
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9908
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9909
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9910
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9911
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9912
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9913
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9914
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9915
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9916
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9917
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9918
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9919
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9920
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9921
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9922
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9923
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9924
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9925
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9926
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9927
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9928
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9929
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9930
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9931
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9932
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9933
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9934
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9935
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9936
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9937
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9938
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9939
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9940
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9941
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9942
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9943
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9944
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9945
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9946
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9947
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9948
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9949
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9950
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9951
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9952
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9953
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9954
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9955
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9956
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9957
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9958
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9959
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9960
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9961
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9962
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9963
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9964
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9965
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9966
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9967
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9968
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9969
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9970
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9971
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9972
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9973
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9974
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9975
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9976
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9977
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9978
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9979
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9980
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9981
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9982
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9983
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9984
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9985
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9986
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9987
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9988
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9989
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9990
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9991
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9992
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9993
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9994
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9995
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9996
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9997
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9998
|
||||
perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' ./more_than_5000-9999
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./1-col.txt.diff
|
||||
./1-col.txt.diff
|
||||
./2-col.txt
|
||||
./2-col.txt
|
||||
./2-col.txt.diff
|
||||
./2-col.txt.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a/bar.diff
|
||||
./a/bar.diff
|
||||
./b/bar.diff
|
||||
./b/bar.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab /c' d/ ef"g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/ef g.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./ ab/c"d/efg.diff
|
||||
./1-col.txt.diff
|
||||
./1-col.txt.diff
|
||||
./2-col.txt
|
||||
./2-col.txt
|
||||
./2-col.txt.diff
|
||||
./2-col.txt.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a b/cd / ef/efg.diff
|
||||
./a/bar.diff
|
||||
./a/bar.diff
|
||||
./b/bar.diff
|
||||
./b/bar.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./1-col.txt
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./1-col.txt.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./2-col.txt
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./2-col.txt.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab/c\"d/ef\ g
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab/c\"d/ef\ g.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab/c\"d/efg
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab/c\"d/efg.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab\ /c\'\ d/\ ef\"g
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./\ ab\ /c\'\ d/\ ef\"g.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/bar
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/bar.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/foo
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/foo.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/foo2
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a/foo2.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a\ b/cd\ /\ ef/efg
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./a\ b/cd\ /\ ef/efg.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./b/bar
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./b/bar.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./b/foo
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./b/foo.diff
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9901
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9902
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9903
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9904
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9905
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9906
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9907
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9908
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9909
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9910
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9911
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9912
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9913
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9914
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9915
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9916
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9917
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9918
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9919
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9920
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9921
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9922
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9923
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9924
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9925
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9926
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9927
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9928
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9929
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9930
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9931
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9932
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9933
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9934
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9935
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9936
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9937
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9938
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9939
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9940
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9941
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9942
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9943
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9944
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9945
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9946
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9947
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9948
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9949
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9950
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9951
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9952
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9953
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9954
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9955
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9956
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9957
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9958
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9959
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9960
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9961
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9962
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9963
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9964
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9965
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9966
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9967
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9968
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9969
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9970
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9971
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9972
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9973
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9974
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9975
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9976
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9977
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9978
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9979
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9980
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9981
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9982
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9983
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9984
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9985
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9986
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9987
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9988
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9989
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9990
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9991
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9992
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9993
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9994
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9995
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9996
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9997
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9998
|
||||
perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" ./more_than_5000-9999
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
### Test -k
|
||||
Warning: Only enough filehandles to run 20 jobs in parallel. Raising ulimit -n may help
|
||||
begin
|
||||
1
|
||||
2
|
||||
|
@ -41,14 +42,6 @@ job1
|
|||
job2
|
||||
### Test SIGTERM
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
|
@ -58,3 +51,22 @@ job2
|
|||
16
|
||||
17
|
||||
18
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
parallel: SIGTERM received. No new jobs will be started.
|
||||
parallel: Waiting for these 9 jobs to finish. Send SIGTERM again to stop now.
|
||||
parallel: sleep 3; echo 10
|
||||
parallel: sleep 3; echo 11
|
||||
parallel: sleep 3; echo 12
|
||||
parallel: sleep 3; echo 13
|
||||
parallel: sleep 3; echo 14
|
||||
parallel: sleep 3; echo 15
|
||||
parallel: sleep 3; echo 16
|
||||
parallel: sleep 3; echo 17
|
||||
parallel: sleep 3; echo 18
|
||||
|
|
|
@ -93,6 +93,8 @@ file20
|
|||
good if no file
|
||||
ls: cannot access tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
ls: cannot access tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
### --return - abspath
|
||||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.out
|
||||
|
@ -262,8 +264,6 @@ tmp/parallel.file9.out
|
|||
tmp/parallel.file>fire.file.done
|
||||
tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
ls: cannot access tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
### --return --cleanup - multiple returns
|
||||
/tmp/parallel.file : & ) \n*.jpg.file.done
|
||||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
|
@ -306,8 +306,6 @@ OK
|
|||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
ls: cannot access tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
### --transfer --return --cleanup - abspath
|
||||
/tmp/parallel.file : & ) \n*.jpg.file.done
|
||||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
|
@ -572,63 +570,63 @@ good if no file
|
|||
ls: cannot access /tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
### --transfer --cleanup - multiple argument files
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file1.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file\>fire.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file\\\>fire.file\ tmp/parallel.file1.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file1.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file\\\>fire.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file\>fire.file tmp/parallel.file1.file
|
||||
file>fire
|
||||
file1
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file2.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file9.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file9.file\ tmp/parallel.file2.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file2.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file9.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file9.file tmp/parallel.file2.file
|
||||
file9
|
||||
file2
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file3.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file8.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file8.file\ tmp/parallel.file3.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file3.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file8.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file8.file tmp/parallel.file3.file
|
||||
file8
|
||||
file3
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file\>fire.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file7.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file7.file\ tmp/parallel.file\\\>fire.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file\\\>fire.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file7.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file7.file tmp/parallel.file\>fire.file
|
||||
file7
|
||||
file>fire
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file5.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file6.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file6.file\ tmp/parallel.file5.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file5.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file6.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file6.file tmp/parallel.file5.file
|
||||
file6
|
||||
file5
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file6.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file5.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file5.file\ tmp/parallel.file6.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file6.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file5.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file5.file tmp/parallel.file6.file
|
||||
file5
|
||||
file6
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file7.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file3.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file3.file\ tmp/parallel.file7.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file7.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file3.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file3.file tmp/parallel.file7.file
|
||||
file3
|
||||
file7
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file8.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file20.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file20.file\ tmp/parallel.file8.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file8.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file20.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file20.file tmp/parallel.file8.file
|
||||
file20
|
||||
file8
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file9.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file2.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file2.file\ tmp/parallel.file9.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file9.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file2.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file2.file tmp/parallel.file9.file
|
||||
file2
|
||||
file9
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file10.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file19.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file19.file\ tmp/parallel.file10.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file10.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file19.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file19.file tmp/parallel.file10.file
|
||||
file19
|
||||
file10
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file18.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file18.file\ tmp/parallel.file\\\ :\\\ \\\&\\\ \\\)\\\ \\\\n\\\*.jpg.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file\\\ :\\\ \\\&\\\ \\\)\\\ \\\\n\\\*.jpg.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file18.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file18.file tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file
|
||||
file18
|
||||
file : & ) \n*.jpg
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file/sub\ dir.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file17.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file17.file\ tmp/parallel.file/./sub\\\ dir.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file/./sub\\\ dir.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file17.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file17.file tmp/parallel.file/./sub\ dir.file
|
||||
file17
|
||||
file/./sub dir
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file13.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file16.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file16.file\ tmp/parallel.file13.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file13.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file16.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file16.file tmp/parallel.file13.file
|
||||
file16
|
||||
file13
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file14.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file15.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file15.file\ tmp/parallel.file14.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file14.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file15.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file15.file tmp/parallel.file14.file
|
||||
file15
|
||||
file14
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file15.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file14.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file14.file\ tmp/parallel.file15.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file15.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file14.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file14.file tmp/parallel.file15.file
|
||||
file14
|
||||
file15
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file16.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file13.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file13.file\ tmp/parallel.file16.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file16.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file13.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file13.file tmp/parallel.file16.file
|
||||
file13
|
||||
file16
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file17.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file10.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file10.file\ tmp/parallel.file17.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file17.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file10.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file10.file tmp/parallel.file17.file
|
||||
file10
|
||||
file17
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file18.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file1.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file1.file\ tmp/parallel.file18.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file18.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file1.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file1.file tmp/parallel.file18.file
|
||||
file1
|
||||
file18
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file19.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file/sub\ dir.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file/./sub\\\ dir.file\ tmp/parallel.file19.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file19.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file/./sub\\\ dir.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file/./sub\ dir.file tmp/parallel.file19.file
|
||||
file/./sub dir
|
||||
file19
|
||||
rsync -rlDzRE -essh ./tmp/parallel.file20.file parallel@parallel-server2:./;rsync -rlDzRE -essh /tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file parallel@parallel-server2:/;ssh parallel@parallel-server2 cat\ /tmp/parallel.file\\\ :\\\ \\\&\\\ \\\)\\\ \\\\n\\\*.jpg.file\ tmp/parallel.file20.file;_EXIT_status=$?; ssh parallel@parallel-server2 rm -f tmp/parallel.file20.file;ssh parallel@parallel-server2 rm -f /tmp/parallel.file\\\ :\\\ \\\&\\\ \\\)\\\ \\\\n\\\*.jpg.file; exit $_EXIT_status;
|
||||
cat /tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file tmp/parallel.file20.file
|
||||
file : & ) \n*.jpg
|
||||
file20
|
||||
|
|
|
@ -75,30 +75,30 @@ OK
|
|||
ls: cannot access tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
Input for ssh
|
||||
parallel-server3 rsync --server -lDErRze.iLsf . ./
|
||||
parallel-server3 cat tmp/parallel.file.'
|
||||
parallel-server3 rsync --server -lDErRze.iLsf . .
|
||||
parallel-server3 PARALLEL_SEQ=2;export PARALLEL_SEQ;PARALLEL_PID=00000;export PARALLEL_PID; cat tmp/parallel.file.'
|
||||
'newline2 > tmp/parallel.file.'
|
||||
'newline2.out;cat tmp/parallel.file.'
|
||||
'newline2 > tmp/parallel.file.'
|
||||
'newline2.out2
|
||||
parallel-server3 rsync --server --sender -lDrRze.iLsf --remove-source-files . ./tmp/parallel.file.'
|
||||
parallel-server3 rsync --server --sender -lDrRze.iLsf --remove-source-files . ././tmp/parallel.file.'
|
||||
'newline2.out
|
||||
parallel-server3 rsync --server --sender -lDrRze.iLsf --remove-source-files . ./tmp/parallel.file.'
|
||||
parallel-server3 rsync --server --sender -lDrRze.iLsf --remove-source-files . ././tmp/parallel.file.'
|
||||
'newline2.out2
|
||||
parallel-server3 rm -f tmp/parallel.file.'
|
||||
'newline2
|
||||
-l parallel parallel-server2 rsync --server -lDErRze.iLsf . ./
|
||||
parallel@parallel-server2 cat tmp/parallel.file.'
|
||||
'newline2; rmdir 2>/dev/null ./tmp
|
||||
-l parallel parallel-server2 rsync --server -lDErRze.iLsf . .
|
||||
parallel@parallel-server2 PARALLEL_SEQ=1;export PARALLEL_SEQ;PARALLEL_PID=00000;export PARALLEL_PID; cat tmp/parallel.file.'
|
||||
'newline1 > tmp/parallel.file.'
|
||||
'newline1.out;cat tmp/parallel.file.'
|
||||
'newline1 > tmp/parallel.file.'
|
||||
'newline1.out2
|
||||
-l parallel parallel-server2 rsync --server --sender -lDrRze.iLsf --remove-source-files . ./tmp/parallel.file.'
|
||||
-l parallel parallel-server2 rsync --server --sender -lDrRze.iLsf --remove-source-files . ././tmp/parallel.file.'
|
||||
'newline1.out
|
||||
-l parallel parallel-server2 rsync --server --sender -lDrRze.iLsf --remove-source-files . ./tmp/parallel.file.'
|
||||
-l parallel parallel-server2 rsync --server --sender -lDrRze.iLsf --remove-source-files . ././tmp/parallel.file.'
|
||||
'newline1.out2
|
||||
parallel@parallel-server2 rm -f tmp/parallel.file.'
|
||||
'newline1
|
||||
'newline1; rmdir 2>/dev/null ./tmp
|
||||
### Test use special ssh with > 9 simultaneous
|
||||
1
|
||||
2
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
### Test $PARALLEL
|
||||
1
|
||||
ssh -l parallel parallel-server2 echo\ 1;
|
||||
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
|
||||
1
|
||||
ssh parallel-server3 echo\ 2;
|
||||
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;
|
||||
2
|
||||
### Test ~/.parallel/config
|
||||
ssh -l parallel parallel-server2 echo\ 1;
|
||||
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
|
||||
1
|
||||
ssh parallel-server3 echo\ 2;
|
||||
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;
|
||||
2
|
||||
|
|
68
testsuite/wanted-results/test35
Normal file
68
testsuite/wanted-results/test35
Normal file
|
@ -0,0 +1,68 @@
|
|||
### Test -W newtempdir/newdir/tmp/ with space dirs
|
||||
echo >./\ ab/c\"d/ef\ g.6
|
||||
echo >\ ab/c\"d/efg.6
|
||||
echo >./b/bar.6
|
||||
echo >./b/foo.6
|
||||
echo >./\ ab\ /c\'\ d/\ ef\"g.6
|
||||
echo >./2-col.txt.6
|
||||
echo >./a\ b/cd\ /\ ef/efg.6
|
||||
./ ab/c"d/ef g.6
|
||||
./ ab/c"d/efg.6
|
||||
./b/foo.6
|
||||
./b/bar.6
|
||||
./ ab /c' d/ ef"g.6
|
||||
./a b/cd / ef/efg.6
|
||||
./2-col.txt.6
|
||||
### Test -W /tmp/newtempdir/newdir/tmp/ with space dirs
|
||||
echo >./\ ab/c\"d/ef\ g.7
|
||||
echo >\ ab/c\"d/efg.7
|
||||
echo >./b/bar.7
|
||||
echo >./b/foo.7
|
||||
echo >./\ ab\ /c\'\ d/\ ef\"g.7
|
||||
echo >./2-col.txt.7
|
||||
echo >./a\ b/cd\ /\ ef/efg.7
|
||||
./ ab/c"d/efg.7
|
||||
./ ab/c"d/ef g.7
|
||||
./2-col.txt.7
|
||||
./b/bar.7
|
||||
./b/foo.7
|
||||
./ ab /c' d/ ef"g.7
|
||||
./a b/cd / ef/efg.7
|
||||
### Test --workdir ...
|
||||
./2-col.txt.1
|
||||
### Test -W ...
|
||||
echo >2-col.txt.2
|
||||
./2-col.txt.2
|
||||
### Test -W ... with space dirs
|
||||
echo >./\ ab/c\"d/ef\ g.3
|
||||
echo >\ ab/c\"d/efg.3
|
||||
echo >./b/bar.3
|
||||
echo >./b/foo.3
|
||||
echo >./\ ab\ /c\'\ d/\ ef\"g.3
|
||||
echo >./2-col.txt.3
|
||||
echo >./a\ b/cd\ /\ ef/efg.3
|
||||
./ ab/c"d/ef g.3
|
||||
./ ab/c"d/efg.3
|
||||
./b/bar.3
|
||||
./b/foo.3
|
||||
./ ab /c' d/ ef"g.3
|
||||
./2-col.txt.3
|
||||
./a b/cd / ef/efg.3
|
||||
### Test -W tmpdir
|
||||
echo >2-col.txt.4
|
||||
./2-col.txt.4
|
||||
### Test -W /tmp/ with space dirs
|
||||
echo >./\ ab/c\"d/ef\ g.5
|
||||
echo >\ ab/c\"d/efg.5
|
||||
echo >./b/bar.5
|
||||
echo >./b/foo.5
|
||||
echo >./\ ab\ /c\'\ d/\ ef\"g.5
|
||||
echo >./2-col.txt.5
|
||||
echo >./a\ b/cd\ /\ ef/efg.5
|
||||
./2-col.txt.5
|
||||
./ ab/c"d/ef g.5
|
||||
./ ab/c"d/efg.5
|
||||
./b/foo.5
|
||||
./b/bar.5
|
||||
./ ab /c' d/ ef"g.5
|
||||
./a b/cd / ef/efg.5
|
44
testsuite/wanted-results/test36
Normal file
44
testsuite/wanted-results/test36
Normal file
|
@ -0,0 +1,44 @@
|
|||
### Test $PARALLEL_SEQ - local
|
||||
arg1:1 seq:1 arg2:2
|
||||
arg1:3 seq:2 arg2:4
|
||||
arg1:5 seq:3 arg2:6
|
||||
arg1:7 seq:4 arg2:8
|
||||
arg1:9 seq:5 arg2:10
|
||||
arg1:11 seq:6 arg2:12
|
||||
arg1:13 seq:7 arg2:14
|
||||
arg1:15 seq:8 arg2:16
|
||||
arg1:17 seq:9 arg2:18
|
||||
arg1:19 seq:10 arg2:20
|
||||
### Test $PARALLEL_SEQ - remote
|
||||
arg1:1 seq:1 arg2:2
|
||||
arg1:3 seq:2 arg2:4
|
||||
arg1:5 seq:3 arg2:6
|
||||
arg1:7 seq:4 arg2:8
|
||||
arg1:9 seq:5 arg2:10
|
||||
arg1:11 seq:6 arg2:12
|
||||
arg1:13 seq:7 arg2:14
|
||||
arg1:15 seq:8 arg2:16
|
||||
arg1:17 seq:9 arg2:18
|
||||
arg1:19 seq:10 arg2:20
|
||||
### Test $PARALLEL_PID - local
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
### Test $PARALLEL_PID - remote
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:0
|
||||
arg0:0 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
||||
arg0:00 seq:00000 arg0:00
|
Loading…
Reference in a new issue