diff --git a/doc/FUTURE_IDEAS b/doc/FUTURE_IDEAS index b122bd74..56918a76 100644 --- a/doc/FUTURE_IDEAS +++ b/doc/FUTURE_IDEAS @@ -1,4 +1,3 @@ -No: too many differences Unittests from xargs findutils-4.4.2/xargs/testsuite Import sql inputfile tabel, Split colonner til {n} @@ -12,9 +11,6 @@ Prøv fieldsep: Find eet tegn, som optræder det samme antal gange i alle linjer Prøv klyngesep: Find den samme klynge tegn, som står samme antal gange i alle linjer (' | ' sep) Fjern whitespace før og efter colonne ---trc combined with {#} - - # Hvordan udregnes system limits på remote systems hvis jeg ikke ved, hvormange # argumenter, der er? Lav system limits lokalt og lad det være max diff --git a/src/parallel b/src/parallel index 6c0399a5..5bdcbfb2 100755 --- a/src/parallel +++ b/src/parallel @@ -2016,7 +2016,7 @@ sub parse_options { my $in_fh = gensym; for (my $fileno = 0; $fileno <= $#::opt_a; $fileno++) { $in_fh = open_or_exit($::opt_a[$fileno]); - for (my $lineno=0; + for (my $lineno=0; $content[$fileno][$lineno] = get_next_arg_from_fh($in_fh); $lineno++) { $max_lineno = max($max_lineno,$lineno); @@ -2067,7 +2067,8 @@ sub parse_options { parse_sshlogin(); - if(remote_hosts() and ($Global::xargs or $Global::Xargs)) { + if(remote_hosts() and ($Global::xargs or $Global::Xargs) + and not $::opt_N) { print STDERR ("Warning: using -X or -m with --sshlogin may fail\n"); } @@ -2087,6 +2088,9 @@ sub parse_options { } sub open_or_exit { + # Returns: + # file handle to read-opened file + # exits if file cannot be opened otherwise my $file = shift; my $fh = gensym; if(not open($fh,"<",$file)) { @@ -3104,7 +3108,7 @@ sub progress { $eta = sprintf("ETA: %ds ", $Private::eta); } } - + if(length $status > $termcols) { # sshlogin1:XX/XX/XX%/XX.Xs sshlogin2:XX/XX/XX%/XX.Xs sshlogin3:XX/XX/XX%/XX.Xs $header = "Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete"; @@ -3738,6 +3742,7 @@ sub reaper { sub wait_and_exit { # If we do not wait, we sometimes get segfault + # Returns: N/A wait(); exit(shift); } diff --git a/unittest/tests-to-run/test17.sh b/unittest/tests-to-run/test17.sh index 95e16884..47b5239e 100755 --- a/unittest/tests-to-run/test17.sh +++ b/unittest/tests-to-run/test17.sh @@ -1,7 +1,5 @@ #!/bin/bash -PAR=parallel - SERVER1=parallel-server3 SERVER2=parallel-server2 @@ -16,14 +14,14 @@ 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 -cat /tmp/test17 | $PAR -k /bin/echo file{} '>'/tmp/parallel.file{}.file -cat /tmp/test17 | $PAR -k /bin/echo /tmp/parallel.file{}.file >/tmp/test17abs -cat /tmp/test17 | $PAR -k /bin/echo tmp/parallel.file{}.file >/tmp/test17rel +cat /tmp/test17 | parallel -k /bin/echo file{} '>'/tmp/parallel.file{}.file +cat /tmp/test17 | parallel -k /bin/echo /tmp/parallel.file{}.file >/tmp/test17abs +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*' -cat /tmp/test17abs | $PAR -k --transfer --sshlogin $SERVER1,parallel@$SERVER2 cat {}";"rm {} +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 stdout ssh $SERVER1 ls '/tmp/parallel.file*' @@ -34,7 +32,7 @@ echo '### --transfer - relpath' stdout ssh $SERVER1 'rm -rf tmp/parallel.file*' stdout ssh parallel@$SERVER2 'rm -rf tmp/parallel.file*' cd / -cat /tmp/test17rel | $PAR -k --transfer --sshlogin $SERVER1,parallel@$SERVER2 cat {}";"rm {} +cat /tmp/test17rel | parallel -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*' @@ -42,7 +40,7 @@ stdout ssh $SERVER1 ls 'tmp/parallel.file*' stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' echo '### --transfer --cleanup - abspath' -cat /tmp/test17abs | $PAR -k --transfer --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {} +cat /tmp/test17abs | parallel -k --transfer --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {} echo good if no file # Should give: No such file or directory stdout ssh $SERVER1 ls '/tmp/parallel.file*' @@ -50,7 +48,7 @@ stdout ssh $SERVER1 ls '/tmp/parallel.file*' stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' echo '### --transfer --cleanup - relpath' -cat /tmp/test17rel | $PAR -k --transfer --cleanup --sshlogin $SERVER1,parallel@$SERVER2 cat {} +cat /tmp/test17rel | parallel -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*' || echo OK @@ -59,23 +57,23 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK echo '### --return - abspath' rm -rf /tmp/parallel.file*out -cat /tmp/test17abs | $PAR -k --return {.}.out --sshlogin $SERVER1,parallel@$SERVER2 echo {} ">"{.}.out +cat /tmp/test17abs | parallel -k --return {.}.out --sshlogin $SERVER1,parallel@$SERVER2 echo {} ">"{.}.out ls /tmp/parallel.file*out /tmp/parallel.file/*out echo '### --return - relpath' rm -rf /tmp/parallel.file*out -cat /tmp/test17rel | $PAR -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 ';'echo {} ">"{.}.out ls tmp/parallel.file*out tmp/parallel.file/*out echo '### --return - multiple files' rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done -cat /tmp/test17rel | $PAR -k --return {.}.out --return {}.done \ +cat /tmp/test17rel | parallel -k --return {.}.out --return {}.done \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'echo {} ">"{.}.out';'echo {} ">"{}.done';' ls tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done 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 | $PAR -k --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17abs | parallel -k --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -85,7 +83,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 | $PAR -k --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17rel | parallel -k --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -95,7 +93,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 | $PAR -k --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17rel | parallel -k --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -105,7 +103,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 | $PAR -k --transfer --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17abs | parallel -k --transfer --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -116,7 +114,7 @@ stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' || echo OK echo '### --transfer --return --cleanup - relpath' rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done -cat /tmp/test17rel | $PAR -k --transfer --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17rel | parallel -k --transfer --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -126,7 +124,7 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK echo '### --transfer --return --cleanup - multiple files' rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done -cat /tmp/test17rel | $PAR -k --transfer --return {.}.out --return {}.done --cleanup \ +cat /tmp/test17rel | parallel -k --transfer --return {.}.out --return {}.done --cleanup \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'cat {} ">"{.}.out';'cat {} ">"{}.done';' ls /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done stdout ssh $SERVER1 ls 'tmp/parallel.file*' || echo OK @@ -135,7 +133,7 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK echo '### --trc - abspath' rm -rf /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done -cat /tmp/test17abs | $PAR -k --trc {.}.out --trc {}.done \ +cat /tmp/test17abs | parallel -k --trc {.}.out --trc {}.done \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -145,7 +143,7 @@ stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' || echo OK echo '### --trc - relpath' rm -rf tmp/parallel.file*out tmp/parallel.file/*out tmp/parallel.file*done tmp/parallel.file/*done -cat /tmp/test17rel | $PAR -k --trc {.}.out --trc {}.done \ +cat /tmp/test17rel | parallel -k --trc {.}.out --trc {}.done \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 @@ -155,10 +153,16 @@ stdout ssh parallel@$SERVER2 ls 'tmp/parallel.file*' || echo OK echo '### --trc - multiple files' rm -rf /tmp/parallel.file*out /tmp/parallel.file/*out /tmp/parallel.file*done /tmp/parallel.file/*done -cat /tmp/test17abs | $PAR -k --trc {.}.out --trc {}.done \ +cat /tmp/test17abs | parallel -k --trc {.}.out --trc {}.done \ --sshlogin $SERVER1,parallel@$SERVER2 mkdir -p tmp ';'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 # Should give: No such file or directory stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' || echo OK + +echo '### --trc - multiple argument' +parallel -v --transfer --cleanup -Sparallel@$SERVER2 cat {2} {1} :::: /tmp/test17rel <(sort -r /tmp/test17abs) +# Should give: No such file or directory +stdout ssh parallel@$SERVER2 ls '/tmp/parallel.file*' || echo OK + diff --git a/unittest/wanted-results/test17 b/unittest/wanted-results/test17 index 6a8c846b..45b69259 100644 --- a/unittest/wanted-results/test17 +++ b/unittest/wanted-results/test17 @@ -571,3 +571,64 @@ OK good if no file ls: cannot access /tmp/parallel.file*: No such file or directory OK +### --trc - multiple argument +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; +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; +file3 +file7 +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; +file6 +file5 +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; +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; +file2 +file9 +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; +file>fire +file1 +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; +file8 +file3 +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; +file9 +file2 +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; +file7 +file>fire +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; +file17 +file/./sub dir +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; +file18 +file : & ) \n*.jpg +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; +file19 +file10 +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; +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; +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; +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; +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; +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; +file1 +file18 +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; +file : & ) \n*.jpg +file20 +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; +file/./sub dir +file19