mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
Passes testsuite.
This commit is contained in:
parent
805d924c16
commit
71ba3f1a8f
|
@ -221,28 +221,17 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
|
||||||
|
|
||||||
Subject: GNU Parallel 20160622 ('Orlando') released <<[stable]>>
|
Subject: GNU Parallel 20160622 ('Orlando') released <<[stable]>>
|
||||||
|
|
||||||
GNU Parallel 20160622 ('Orlando') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
GNU Parallel 20160722 ('Brexit') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||||
|
|
||||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||||
|
|
||||||
Haiku of the month:
|
Haiku of the month:
|
||||||
|
|
||||||
Does path on remote
|
|
||||||
not include GNU Parallel?
|
|
||||||
Try --env PATH.
|
|
||||||
-- Ole Tange
|
-- Ole Tange
|
||||||
|
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* $PATH can now be exported using --env PATH. Useful if GNU Parallel is not in your path on remote machines.
|
|
||||||
|
|
||||||
* If --block is left out, --pipepart will use a block size that will result in 10 jobs per jobslot.
|
|
||||||
|
|
||||||
* The cookie from 2016-01-04 was won by Morgan Rodgers on the 2016-06-06 after 5 months.
|
|
||||||
|
|
||||||
* Vote for GNU Parallel's community ad on https://meta.askubuntu.com/questions/14925/community-promotion-ads-2016/15046#15046
|
|
||||||
|
|
||||||
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
||||||
|
|
||||||
* <<Possibly http://link.springer.com/article/10.1007/s12021-015-9290-5>>
|
* <<Possibly http://link.springer.com/article/10.1007/s12021-015-9290-5>>
|
||||||
|
@ -269,22 +258,6 @@ for Big Data Applications https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumb
|
||||||
|
|
||||||
* <<link No citation: Next-generation TCP for ns-3 simulator http://www.sciencedirect.com/science/article/pii/S1569190X15300939>>
|
* <<link No citation: Next-generation TCP for ns-3 simulator http://www.sciencedirect.com/science/article/pii/S1569190X15300939>>
|
||||||
|
|
||||||
* GNU Parallel was cited in: Genotypic Resistance Tests Sequences Reveal the Role of Marginalized Populations in HIV-1 Transmission in Switzerland http://www.nature.com/articles/srep27580
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: A Deep-Learning Approach for Operation of an Automated Realtime Flare Forecast https://arxiv.org/pdf/1606.01587.pdf
|
|
||||||
|
|
||||||
* Unix parallel: Populating all the USB sticks http://www.markhneedham.com/blog/2016/06/01/unix-parallel-populating-all-the-usb-sticks/
|
|
||||||
|
|
||||||
* GNU Parallel is a fantastic utility https://www.dray.be/parallel/
|
|
||||||
|
|
||||||
* Combining a large number of VCF files https://gtamazian.com/2016/06/16/combining-a-large-number-of-vcf-files/
|
|
||||||
|
|
||||||
* Useful Scraping Techniques http://blog.apps.npr.org/2016/06/17/scraping-tips.html
|
|
||||||
|
|
||||||
* Tools of the trade http://onox.com.br/2015/05/tools-of-the-trade/#more-198
|
|
||||||
|
|
||||||
* Armslist scraper https://github.com/nprapps/armslist-scraper/
|
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
GNU Parallel - For people who live life in the parallel lane.
|
GNU Parallel - For people who live life in the parallel lane.
|
||||||
|
|
8
src/sql
8
src/sql
|
@ -596,7 +596,7 @@ sub parse_options {
|
||||||
"noheaders|no-headers|n" => \$::opt_n,
|
"noheaders|no-headers|n" => \$::opt_n,
|
||||||
"r" => \$::opt_retry,
|
"r" => \$::opt_retry,
|
||||||
"retries=s" => \$::opt_retries,
|
"retries=s" => \$::opt_retries,
|
||||||
"debug" => \$::opt_debug,
|
"debug|D" => \$::opt_debug,
|
||||||
# Shebang #!/usr/bin/parallel -Yotheroptions
|
# Shebang #!/usr/bin/parallel -Yotheroptions
|
||||||
"Y|shebang" => \$::opt_shebang,
|
"Y|shebang" => \$::opt_shebang,
|
||||||
"skip-first-line" => \$::opt_skip_first_line,
|
"skip-first-line" => \$::opt_skip_first_line,
|
||||||
|
@ -1010,9 +1010,10 @@ sub parse_dburl {
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
/
|
/
|
||||||
([^?]*)? # Database ($6)
|
([^?/]*)? # Database ($6)
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
|
/?
|
||||||
\?
|
\?
|
||||||
(.*)? # Query ($7)
|
(.*)? # Query ($7)
|
||||||
)?
|
)?
|
||||||
|
@ -1022,7 +1023,8 @@ sub parse_dburl {
|
||||||
$options{password} = undef_if_empty(uri_unescape($3));
|
$options{password} = undef_if_empty(uri_unescape($3));
|
||||||
$options{host} = undef_if_empty(uri_unescape($4));
|
$options{host} = undef_if_empty(uri_unescape($4));
|
||||||
$options{port} = undef_if_empty(uri_unescape($5));
|
$options{port} = undef_if_empty(uri_unescape($5));
|
||||||
$options{database} = undef_if_empty(uri_unescape($6));
|
$options{database} = undef_if_empty(uri_unescape($6))
|
||||||
|
|| $options{user};
|
||||||
$options{query} = undef_if_empty(uri_unescape($7));
|
$options{query} = undef_if_empty(uri_unescape($7));
|
||||||
debug("dburl $url\n");
|
debug("dburl $url\n");
|
||||||
debug("databasedriver ",$options{databasedriver}, " user ", $options{user},
|
debug("databasedriver ",$options{databasedriver}, " user ", $options{user},
|
||||||
|
|
|
@ -8,7 +8,16 @@ sudo aptitude install imagemagick expect autossh
|
||||||
|
|
||||||
# DEBIAN package
|
# DEBIAN package
|
||||||
sudo aptitude install dpkg-dev build-essential debhelper
|
sudo aptitude install dpkg-dev build-essential debhelper
|
||||||
|
# SHEBANG TOOLS
|
||||||
|
sudo aptitude install gnuplot octave ruby r-base-core
|
||||||
|
# SQL TOOLS
|
||||||
|
sudo aptitude install libdbd-pg-perl libdbd-sqlite3-perl
|
||||||
|
# Compression
|
||||||
|
sudo aptitude install pxz pixz
|
||||||
|
|
||||||
|
# To configure zsh
|
||||||
|
echo Configure zsh and exit
|
||||||
|
zsh
|
||||||
|
|
||||||
# DATABASES
|
# DATABASES
|
||||||
sudo aptitude install postgresql mysql-server
|
sudo aptitude install postgresql mysql-server
|
||||||
|
@ -37,6 +46,7 @@ create_shell_user() {
|
||||||
sshpass -e ssh-copy-id $shell@lo &&
|
sshpass -e ssh-copy-id $shell@lo &&
|
||||||
echo "ssh-keyscan" &&
|
echo "ssh-keyscan" &&
|
||||||
ssh $shell@lo 'ssh-keyscan -t rsa lo >> .ssh/known_hosts' &&
|
ssh $shell@lo 'ssh-keyscan -t rsa lo >> .ssh/known_hosts' &&
|
||||||
|
ssh $shell@lo 'ssh-keyscan -t rsa server >> .ssh/known_hosts' &&
|
||||||
echo "chsh" &&
|
echo "chsh" &&
|
||||||
sudo chsh -s $(which $shell || which ${shell#"nopath"}) $shell &&
|
sudo chsh -s $(which $shell || which ${shell#"nopath"}) $shell &&
|
||||||
echo | ssh -t $shell@lo ssh-keygen &&
|
echo | ssh -t $shell@lo ssh-keygen &&
|
||||||
|
@ -62,7 +72,7 @@ ssh_copy_id() {
|
||||||
export -f ssh_copy_id
|
export -f ssh_copy_id
|
||||||
shellsplus="parallel $shells"
|
shellsplus="parallel $shells"
|
||||||
parallel --bar -j200% --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
|
parallel --bar -j200% --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
|
||||||
parallel -j10 ssh {1}@lo ssh {2}@lo echo {} OK ::: $shellsplus ::: $shellsplus
|
parallel -j10 --retries 3 --tag ssh {1}@lo ssh {2}@lo echo OK ::: $shellsplus ::: $shellsplus
|
||||||
|
|
||||||
# change paths to no path
|
# change paths to no path
|
||||||
(
|
(
|
||||||
|
@ -86,12 +96,9 @@ lsh-keygen | lsh-writekey -c none
|
||||||
lsh-export-key --openssh < ~/.lsh/identity.pub | lsh localhost 'cat >>.ssh/authorized_keys'
|
lsh-export-key --openssh < ~/.lsh/identity.pub | lsh localhost 'cat >>.ssh/authorized_keys'
|
||||||
lsh-export-key --openssh < ~/.lsh/identity.pub | ssh csh@localhost 'cat >>.ssh/authorized_keys'
|
lsh-export-key --openssh < ~/.lsh/identity.pub | ssh csh@localhost 'cat >>.ssh/authorized_keys'
|
||||||
|
|
||||||
# To configure zsh
|
|
||||||
zsh
|
|
||||||
parallel --record-env
|
parallel --record-env
|
||||||
|
|
||||||
|
|
||||||
# SHEBANG TOOLS
|
|
||||||
sudo aptitude install gnuplot octave ruby r-base-core libdbd-pg-perl libdbd-sqlite3-perl pxz pixz
|
|
||||||
sudo cp /usr/bin/tmux /usr/local/bin/tmux1.8
|
sudo cp /usr/bin/tmux /usr/local/bin/tmux1.8
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
|
||||||
' |
|
' |
|
||||||
stdout parallel --joblog /tmp/jl-`basename $0` -j6 -vd'\n\n' |
|
stdout parallel --joblog /tmp/jl-`basename $0` -j6 -vd'\n\n' |
|
||||||
perl -pe '$|=1;
|
perl -pe '$|=1;
|
||||||
|
# --pipe --roundrobin wc
|
||||||
|
s: \d{6} \d{6} \d{7}: 999999 999999 9999999:;
|
||||||
# --tmux
|
# --tmux
|
||||||
s:(/tmp\S+)(tms).....:$1$2XXXXX:;
|
s:(/tmp\S+)(tms).....:$1$2XXXXX:;
|
||||||
# --files
|
# --files
|
||||||
|
|
|
@ -9,7 +9,7 @@ sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest;
|
||||||
sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
|
sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
|
||||||
sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
|
sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
|
||||||
|
|
||||||
MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@
|
MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@/
|
||||||
|
|
||||||
echo '### Test of #! -Y with file as input'
|
echo '### Test of #! -Y with file as input'
|
||||||
cat >/tmp/shebang <<EOF
|
cat >/tmp/shebang <<EOF
|
||||||
|
|
|
@ -9,7 +9,7 @@ sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest;
|
||||||
sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
|
sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
|
||||||
sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
|
sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
|
||||||
|
|
||||||
MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@
|
MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@/sqlunittest
|
||||||
|
|
||||||
echo '### Test reading sql from url command line'
|
echo '### Test reading sql from url command line'
|
||||||
echo | sql "$MYSQL_TEST_DBURL/?SELECT 'Yes it works' as 'Test reading SQL from command line';"
|
echo | sql "$MYSQL_TEST_DBURL/?SELECT 'Yes it works' as 'Test reading SQL from command line';"
|
||||||
|
@ -30,7 +30,7 @@ perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases
|
||||||
stdout sql ":cyclic3?SELECT 'NO IT DID NOT' as 'Test if :cyclic is found works';"
|
stdout sql ":cyclic3?SELECT 'NO IT DID NOT' as 'Test if :cyclic is found works';"
|
||||||
|
|
||||||
echo "### Test alias with statement .sql/aliases"
|
echo "### Test alias with statement .sql/aliases"
|
||||||
echo ":testselect sqlite:////tmp/file.sqlite?SELECT 'It works' AS 'Test statement in alias';" >> ~/.sql/aliases
|
echo ":testselect sqlite:///%2Ftmp%2Ffile.sqlite?SELECT 'It works' AS 'Test statement in alias';" >> ~/.sql/aliases
|
||||||
perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases
|
perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases
|
||||||
echo | stdout sql :testselect
|
echo | stdout sql :testselect
|
||||||
echo ":testselectmysql mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest?SELECT 'It works' AS 'Test statement in alias';" >> ~/.sql/aliases
|
echo ":testselectmysql mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest?SELECT 'It works' AS 'Test statement in alias';" >> ~/.sql/aliases
|
||||||
|
|
|
@ -2,19 +2,18 @@
|
||||||
|
|
||||||
#cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | nice timeout -k 1 40 parallel -j0 -k -L1
|
#cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | nice timeout -k 1 40 parallel -j0 -k -L1
|
||||||
echo '### Test of --retries - it should run 13 jobs in total';
|
echo '### Test of --retries - it should run 13 jobs in total';
|
||||||
seq 0 12 | stdout parallel --progress -kj100% --retries 1 -S 12/localhost,1/:,parallel@parallel-server1 -vq \
|
seq 0 12 | stdout parallel --retries 1 -S 12/localhost,1/:,parallel@parallel-server1 -uq \
|
||||||
perl -e 'sleep 1;print "job{}\n";exit({})' |
|
perl -e 'print "job{}\n";exit({})' | wc -l
|
||||||
perl -ne 'BEGIN{$/="\r";} @a=(split /\//,$_); END{print $a[1]+$a[4]+$a[7],"\n"}'
|
|
||||||
|
|
||||||
echo '### Test of --retries - it should run 25 jobs in total';
|
echo '### Test of --retries - it should run 25 jobs in total';
|
||||||
seq 0 12 | stdout parallel --progress -kj100% --retries 2 -S 12/localhost,1/:,parallel@parallel-server1 -vq \
|
seq 0 12 | stdout parallel --retries 2 -S 12/localhost,1/:,parallel@parallel-server1 -uq \
|
||||||
perl -e 'sleep 1;print "job{}\n";exit({})' |
|
perl -e 'print "job{}\n";exit({})' | wc -l
|
||||||
perl -ne 'BEGIN{$/="\r";} @a=(split /\//,$_); END{print $a[1]+$a[4]+$a[7],"\n"}'
|
|
||||||
|
|
||||||
echo '### Test of --retries - it should run 49 jobs in total';
|
echo '### Test of --retries - it should run 49 jobs in total';
|
||||||
seq 0 12 | stdout parallel --progress -kj100% --retries 4 -S 12/localhost,1/:,parallel@parallel-server1 -vq \
|
seq 0 12 | stdout parallel --retries 4 -S 12/localhost,1/:,parallel@parallel-server1 -uq \
|
||||||
perl -e 'sleep 1;print "job{}\n";exit({})' |
|
perl -e 'print "job{}\n";exit({})' | wc -l
|
||||||
perl -ne 'BEGIN{$/="\r";} @a=(split /\//,$_); END{print $a[1]+$a[4]+$a[7],"\n"}'
|
|
||||||
#EOF
|
#EOF
|
||||||
echo '### Bug with --retries'
|
echo '### Bug with --retries'
|
||||||
seq 1 8 | parallel --retries 2 --sshlogin 8/localhost,8/: -j+0 "hostname; false" | wc -l
|
seq 1 8 | parallel --retries 2 --sshlogin 8/localhost,8/: -j+0 "hostname; false" | wc -l
|
||||||
|
|
|
@ -306,7 +306,7 @@ OK
|
||||||
/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
||||||
/home/tange/.parallel/tmp/hp-0-0
|
/home/tange/.parallel/tmp/aspire-0-0
|
||||||
/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
||||||
|
@ -595,7 +595,7 @@ e
|
||||||
echo '### test too long args'
|
echo '### test too long args'
|
||||||
### test too long args
|
### test too long args
|
||||||
perl -e 'print "z"x1000000' | parallel echo 2>&1
|
perl -e 'print "z"x1000000' | parallel echo 2>&1
|
||||||
parallel: Error: Command line too long (1000005 >= 65524) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
parallel: Error: Command line too long (1000005 >= 65528) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||||
perl -e 'print "z"x1000000' | xargs echo 2>&1
|
perl -e 'print "z"x1000000' | xargs echo 2>&1
|
||||||
xargs: argument line too long
|
xargs: argument line too long
|
||||||
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdout parallel -j1 -km -s 10 echo
|
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdout parallel -j1 -km -s 10 echo
|
||||||
|
@ -862,7 +862,7 @@ echo far
|
||||||
### Test --show-limits
|
### Test --show-limits
|
||||||
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
||||||
Maximal size of command: 131049
|
Maximal size of command: 131049
|
||||||
Maximal used size of command: 65524
|
Maximal used size of command: 65528
|
||||||
|
|
||||||
Execution of will continue now, and it will try to read its input
|
Execution of will continue now, and it will try to read its input
|
||||||
and run commands; if this is not what you wanted to happen, please
|
and run commands; if this is not what you wanted to happen, please
|
||||||
|
@ -1243,17 +1243,26 @@ a b
|
||||||
seq 1 92 | parallel -j+0 -kX -s 100 echo
|
seq 1 92 | parallel -j+0 -kX -s 100 echo
|
||||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
||||||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
||||||
66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
66 67 68 69
|
||||||
80 81 82 83 84 85 86 87 88 89 90 91 92
|
70 71 72 73
|
||||||
|
74 75 76 77
|
||||||
|
78 79 80 81
|
||||||
|
82 83 84 85
|
||||||
|
86 87 88 89
|
||||||
|
90 91 92
|
||||||
echo '### Test distribute arguments at EOF to 5 jobslots'
|
echo '### Test distribute arguments at EOF to 5 jobslots'
|
||||||
### Test distribute arguments at EOF to 5 jobslots
|
### Test distribute arguments at EOF to 5 jobslots
|
||||||
seq 1 92 | parallel -j+3 -kX -s 100 echo
|
seq 1 92 | parallel -j+3 -kX -s 100 echo
|
||||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
||||||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
||||||
66 67 68 69 70 71
|
66 67 68
|
||||||
72 73 74 75 76 77
|
69 70 71
|
||||||
78 79 80 81 82 83
|
72 73 74
|
||||||
84 85 86 87 88 89
|
75 76 77
|
||||||
|
78 79 80
|
||||||
|
81 82 83
|
||||||
|
84 85 86
|
||||||
|
87 88 89
|
||||||
90 91 92
|
90 91 92
|
||||||
echo '### Test distribute arguments at EOF to infinity jobslots'
|
echo '### Test distribute arguments at EOF to infinity jobslots'
|
||||||
### Test distribute arguments at EOF to infinity jobslots
|
### Test distribute arguments at EOF to infinity jobslots
|
||||||
|
@ -1626,7 +1635,7 @@ echo '### bug #34422: parallel -X --eta crashes with div by zero'
|
||||||
seq 2 | stdout parallel -X --eta echo | grep -E -v 'ETA:.*AVG'
|
seq 2 | stdout parallel -X --eta echo | grep -E -v 'ETA:.*AVG'
|
||||||
|
|
||||||
Computers / CPU cores / Max jobs to run
|
Computers / CPU cores / Max jobs to run
|
||||||
1:local / 2 / 2
|
1:local / 8 / 2
|
||||||
|
|
||||||
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
|
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
|
||||||
echo '**'
|
echo '**'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
||||||
### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
||||||
seq 1000000 > /tmp/num1000000; stdout parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |grep 1:local
|
seq 1000000 > /tmp/num1000000; stdout parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |grep 1:local
|
||||||
1:local / 2 / 252
|
1:local / 8 / 252
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
testhalt() { echo '### testhalt --halt '$1; (yes 0 | head -n 10; seq 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; (seq 10; yes 0 | head -n 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; }; export -f testhalt; parallel -kj0 testhalt ::: now,fail=0 now,fail=1 now,fail=2 now,fail=30% now,fail=70% soon,fail=0 soon,fail=1 soon,fail=2 soon,fail=30% soon,fail=70% now,success=0 now,success=1 now,success=2 now,success=30% now,success=70% soon,success=0 soon,success=1 soon,success=2 soon,success=30% now,success=70%
|
testhalt() { echo '### testhalt --halt '$1; (yes 0 | head -n 10; seq 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; (seq 10; yes 0 | head -n 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; }; export -f testhalt; parallel -kj0 testhalt ::: now,fail=0 now,fail=1 now,fail=2 now,fail=30% now,fail=70% soon,fail=0 soon,fail=1 soon,fail=2 soon,fail=30% soon,fail=70% now,success=0 now,success=1 now,success=2 now,success=30% now,success=70% soon,success=0 soon,success=1 soon,success=2 soon,success=30% now,success=70%
|
||||||
|
@ -863,12 +863,12 @@ echo '**'
|
||||||
echo "### Test max line length -m -I"
|
echo "### Test max line length -m -I"
|
||||||
### Test max line length -m -I
|
### Test max line length -m -I
|
||||||
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
|
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
|
||||||
d10d5c84fc4716b21d90afa92cf44d73 -
|
14bacad229d8b0d32be0a2339c2a6af7 -
|
||||||
Chars per line (697810/11): 63437
|
Chars per line (697810/11): 63437
|
||||||
echo "### Test max line length -X -I"
|
echo "### Test max line length -X -I"
|
||||||
### Test max line length -X -I
|
### Test max line length -X -I
|
||||||
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
|
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
|
||||||
47ec7550232044dc1e7a504705a45184 -
|
81c0a85162c989c07f666b827a30ce52 -
|
||||||
Chars per line (817788/13): 62906
|
Chars per line (817788/13): 62906
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
|
|
|
@ -4,7 +4,7 @@ echo "### BUG: The length for -X is not close to max (131072)"; seq 1 60000 |
|
||||||
seq 1 60000 | parallel -X echo a{}b{}c |head -n 1 |wc
|
seq 1 60000 | parallel -X echo a{}b{}c |head -n 1 |wc
|
||||||
1 5644 65514
|
1 5644 65514
|
||||||
seq 1 60000 | parallel -X echo |head -n 1 |wc
|
seq 1 60000 | parallel -X echo |head -n 1 |wc
|
||||||
1 12770 65514
|
1 12771 65520
|
||||||
seq 1 60000 | parallel -X echo a{}b{}c {} |head -n 1 |wc
|
seq 1 60000 | parallel -X echo a{}b{}c {} |head -n 1 |wc
|
||||||
1 8098 65512
|
1 8098 65512
|
||||||
seq 1 60000 | parallel -X echo {}aa{} |head -n 1 |wc
|
seq 1 60000 | parallel -X echo {}aa{} |head -n 1 |wc
|
||||||
|
|
|
@ -192,7 +192,7 @@ ls: cannot access bug46519.ccc: No such file or directory
|
||||||
echo '### Test --nice remote'
|
echo '### Test --nice remote'
|
||||||
### Test --nice remote
|
### Test --nice remote
|
||||||
stdout parallel --nice 1 -S lo -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z/\\+=0-9]{500,}:base64:i;'
|
stdout parallel --nice 1 -S lo -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z/\\+=0-9]{500,}:base64:i;'
|
||||||
ssh lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; base64;
|
ssh lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
|
||||||
a b
|
a b
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
|
|
|
@ -123,19 +123,25 @@ echo '### exported function to csh but with PARALLEL_SHELL=bash'
|
||||||
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
|
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
|
||||||
OK
|
OK
|
||||||
bug #47695: How to set $PATH on remote?
|
bug #47695: How to set $PATH on remote?
|
||||||
Welcome to Linux Mint 17.3 Rosa (GNU/Linux 3.19.0-32-generic x86_64)
|
Welcome to Linux Mint 17 Qiana (GNU/Linux 3.16.0-31-lowlatency x86_64)
|
||||||
|
|
||||||
Welcome to Linux Mint
|
Welcome to Linux Mint
|
||||||
* Documentation: http://www.linuxmint.com
|
* Documentation: http://www.linuxmint.com
|
||||||
|
|
||||||
|
0 updates are security updates.
|
||||||
|
|
||||||
BASH Path before: /bin:/usr/bin with no parallel
|
BASH Path before: /bin:/usr/bin with no parallel
|
||||||
-bash: line 2: parallel: command not found
|
-bash: line 2: parallel: command not found
|
||||||
^^^^^^^^ Not found is OK
|
^^^^^^^^ Not found is OK
|
||||||
/bin:/usr/bin:/tmp OK
|
/bin:/usr/bin:/tmp OK
|
||||||
|
|
||||||
Welcome to Linux Mint 17.3 Rosa (GNU/Linux 3.19.0-32-generic x86_64)
|
Welcome to Linux Mint 17 Qiana (GNU/Linux 3.16.0-31-lowlatency x86_64)
|
||||||
|
|
||||||
Welcome to Linux Mint
|
Welcome to Linux Mint
|
||||||
* Documentation: http://www.linuxmint.com
|
* Documentation: http://www.linuxmint.com
|
||||||
|
|
||||||
|
0 updates are security updates.
|
||||||
|
|
||||||
Warning: no access to tty (Bad file descriptor).
|
Warning: no access to tty (Bad file descriptor).
|
||||||
Thus no job control in this shell.
|
Thus no job control in this shell.
|
||||||
CSH Path before: /bin:/usr/bin with no parallel
|
CSH Path before: /bin:/usr/bin with no parallel
|
||||||
|
|
|
@ -456,7 +456,7 @@ echo '### true < 32767-ys.xi'
|
||||||
### true < 32767-ys.xi
|
### true < 32767-ys.xi
|
||||||
stdout xargs true < 32767-ys.xi
|
stdout xargs true < 32767-ys.xi
|
||||||
stdout parallel -k true < 32767-ys.xi
|
stdout parallel -k true < 32767-ys.xi
|
||||||
parallel: Error: Command line too long (98306 >= 65524) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ...
|
parallel: Error: Command line too long (98306 >= 65528) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ...
|
||||||
echo '### true < 16383-ys.xi'
|
echo '### true < 16383-ys.xi'
|
||||||
### true < 16383-ys.xi
|
### true < 16383-ys.xi
|
||||||
stdout xargs true < 16383-ys.xi
|
stdout xargs true < 16383-ys.xi
|
||||||
|
|
|
@ -111,7 +111,7 @@ echo '### Test -m with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | par
|
||||||
20 179960 1286702
|
20 179960 1286702
|
||||||
echo '### Test -X with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
echo '### Test -X with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
||||||
### Test -X with 60000 args
|
### Test -X with 60000 args
|
||||||
8646e0f7fd5f8795e4b1a831ede50e85 -
|
97715240fa65309902932877d24273db -
|
||||||
21 60000 1346682
|
21 60000 1346682
|
||||||
echo '### Test -X with 60000 args and 5 expansions'
|
echo '### Test -X with 60000 args and 5 expansions'
|
||||||
### Test -X with 60000 args and 5 expansions
|
### Test -X with 60000 args and 5 expansions
|
||||||
|
|
|
@ -92,7 +92,7 @@ With script in $PARALLEL /bin/bash=/home/tange/privat/parallel/testsuite
|
||||||
echo '### bug #42892: parallel -a nonexiting --pipepart'
|
echo '### bug #42892: parallel -a nonexiting --pipepart'
|
||||||
### bug #42892: parallel -a nonexiting --pipepart
|
### bug #42892: parallel -a nonexiting --pipepart
|
||||||
parallel --pipepart -a nonexisting wc
|
parallel --pipepart -a nonexisting wc
|
||||||
parallel: Error: nonexisting is not a seekable file.
|
parallel: Error: nonexisting is neither a file nor a block device
|
||||||
echo '### bug #42913: Dont use $SHELL but the shell currently running'
|
echo '### bug #42913: Dont use $SHELL but the shell currently running'
|
||||||
### bug #42913: Dont use $SHELL but the shell currently running
|
### bug #42913: Dont use $SHELL but the shell currently running
|
||||||
echo '## Unknown shell => $SHELL (bash)'
|
echo '## Unknown shell => $SHELL (bash)'
|
||||||
|
|
|
@ -86,9 +86,9 @@ please cite as described in 'parallel --citation'.
|
||||||
echo '### bug #39787: --xargs broken'
|
echo '### bug #39787: --xargs broken'
|
||||||
### bug #39787: --xargs broken
|
### bug #39787: --xargs broken
|
||||||
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
|
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
|
||||||
65514
|
65520
|
||||||
65514
|
65520
|
||||||
37866
|
37854
|
||||||
echo '### --delay should grow by 3 sec per arg'
|
echo '### --delay should grow by 3 sec per arg'
|
||||||
### --delay should grow by 3 sec per arg
|
### --delay should grow by 3 sec per arg
|
||||||
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'
|
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
bug #46120: Suspend should suspend (at least local) children
|
bug #46120: Suspend should suspend (at least local) children
|
||||||
2048 4b:d0:08:9c:88:c1:b9:20:ce:69:91:73:e0:07:5d:13 /home/tange/.ssh/id_rsa (RSA)
|
2048 0a:c0:70:5b:ec:f6:c2:de:67:c3:53:7f:29:81:65:54 tange@hk (RSA1)
|
||||||
|
1024 93:d1:21:c5:ff:e3:c3:be:6d:73:ea:aa:1e:a2:dc:06 /home/tange/.ssh/id_dsa (DSA)
|
||||||
|
8192 e1:95:e3:ff:99:a6:3a:b5:53:5a:54:59:d0:72:94:7f /home/tange/.ssh/id_rsa (RSA)
|
||||||
|
4096 94:2a:e3:cb:6b:66:63:21:13:51:8d:e8:4e:09:49:b2 /home/tange/.ssh/id_rsa_openindiana (RSA)
|
||||||
|
|
||||||
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 ::: 1 | grep --colour=auto -q CPUTIME=1
|
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 ::: 1 | grep --colour=auto -q CPUTIME=1
|
||||||
Zero=OK 0
|
Zero=OK 0
|
||||||
2048 4b:d0:08:9c:88:c1:b9:20:ce:69:91:73:e0:07:5d:13 /home/tange/.ssh/id_rsa (RSA)
|
2048 0a:c0:70:5b:ec:f6:c2:de:67:c3:53:7f:29:81:65:54 tange@hk (RSA1)
|
||||||
|
1024 93:d1:21:c5:ff:e3:c3:be:6d:73:ea:aa:1e:a2:dc:06 /home/tange/.ssh/id_dsa (DSA)
|
||||||
|
8192 e1:95:e3:ff:99:a6:3a:b5:53:5a:54:59:d0:72:94:7f /home/tange/.ssh/id_rsa (RSA)
|
||||||
|
4096 94:2a:e3:cb:6b:66:63:21:13:51:8d:e8:4e:09:49:b2 /home/tange/.ssh/id_rsa_openindiana (RSA)
|
||||||
|
|
||||||
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 | grep --colour=auto -q CPUTIME=1
|
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 | grep --colour=auto -q CPUTIME=1
|
||||||
Zero=OK 0
|
Zero=OK 0
|
||||||
|
|
|
@ -63,7 +63,7 @@ echo '### Test --number-of-cpus'; stdout $NICEPAR --number-of-cpus
|
||||||
1
|
1
|
||||||
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
|
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
|
||||||
### Test --number-of-cores
|
### Test --number-of-cores
|
||||||
2
|
8
|
||||||
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
|
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
|
||||||
### Test --use-cpus-instead-of-cores
|
### Test --use-cpus-instead-of-cores
|
||||||
Cores should complete first on machines with less than 8 physical CPUs
|
Cores should complete first on machines with less than 8 physical CPUs
|
||||||
|
@ -400,7 +400,7 @@ echo "### BUG: empty lines with --show-limit"
|
||||||
### BUG: empty lines with --show-limit
|
### BUG: empty lines with --show-limit
|
||||||
echo | $NICEPAR --show-limits
|
echo | $NICEPAR --show-limits
|
||||||
Maximal size of command: 131049
|
Maximal size of command: 131049
|
||||||
Maximal used size of command: 65524
|
Maximal used size of command: 65528
|
||||||
|
|
||||||
Execution of will continue now, and it will try to read its input
|
Execution of will continue now, and it will try to read its input
|
||||||
and run commands; if this is not what you wanted to happen, please
|
and run commands; if this is not what you wanted to happen, please
|
||||||
|
|
|
@ -701,6 +701,11 @@ parallel@lo foo bar
|
||||||
alias myecho=echo
|
alias myecho=echo
|
||||||
myvar="Joe's var is"
|
myvar="Joe's var is"
|
||||||
env_parallel -S $SERVER1 'myecho $myvar' ::: green
|
env_parallel -S $SERVER1 'myecho $myvar' ::: green
|
||||||
|
Unknown option: -S
|
||||||
|
Unknown option: parallel@lo
|
||||||
|
Unknown option: myecho $myvar
|
||||||
|
Unknown option: :::
|
||||||
|
Unknown option: green
|
||||||
env_parallel only works if it is a function. Do the below and restart your shell.
|
env_parallel only works if it is a function. Do the below and restart your shell.
|
||||||
|
|
||||||
bash: Put this in /home/tange/.bashrc: . /usr/local/bin/env_parallel.bash
|
bash: Put this in /home/tange/.bashrc: . /usr/local/bin/env_parallel.bash
|
||||||
|
@ -712,9 +717,9 @@ zsh: Put this in /home/tange/.zshrc: . /usr/local/bin/env_parallel.zsh
|
||||||
Supports: functions, variables, arrays
|
Supports: functions, variables, arrays
|
||||||
|
|
||||||
fish: Put this in /home/tange/.config/fish/config.fish:
|
fish: Put this in /home/tange/.config/fish/config.fish:
|
||||||
source (which env_parallel.fish)
|
. (which env_parallel.fish)
|
||||||
E.g. by doing:
|
E.g. by doing:
|
||||||
echo 'source (which env_parallel.fish)' >> /home/tange/.config/fish/config.fish
|
echo '. (which env_parallel.fish)' >> /home/tange/.config/fish/config.fish
|
||||||
Supports: aliases, functions, variables, arrays
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
ksh: Put this in /home/tange/.kshrc: source /usr/local/bin/env_parallel.ksh
|
ksh: Put this in /home/tange/.kshrc: source /usr/local/bin/env_parallel.ksh
|
||||||
|
@ -722,7 +727,7 @@ ksh: Put this in /home/tange/.kshrc: source /usr/local/bin/env_parallel.ksh
|
||||||
Supports: aliases, functions, variables, arrays
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
pdksh: Put this in /home/tange/.profile: source /usr/local/bin/env_parallel.pdksh
|
pdksh: Put this in /home/tange/.profile: source /usr/local/bin/env_parallel.pdksh
|
||||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.pdksh' >> /home/tange/.profile
|
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> /home/tange/.profile
|
||||||
Supports: aliases, functions, variables, arrays
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
csh: Put this in /home/tange/.cshrc: source /usr/local/bin/env_parallel.csh
|
csh: Put this in /home/tange/.cshrc: source /usr/local/bin/env_parallel.csh
|
||||||
|
@ -733,6 +738,10 @@ tcsh: Put this in /home/tange/.tcshrc: source /usr/local/bin/env_parallel.tcsh
|
||||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> /home/tange/.tcshrc
|
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> /home/tange/.tcshrc
|
||||||
Supports: aliases, variables, arrays with no special chars
|
Supports: aliases, variables, arrays with no special chars
|
||||||
|
|
||||||
|
To install in all shells run:
|
||||||
|
|
||||||
|
env_parallel --install
|
||||||
|
|
||||||
For details: see man env_parallel
|
For details: see man env_parallel
|
||||||
|
|
||||||
MYVAR='foo bar'
|
MYVAR='foo bar'
|
||||||
|
@ -854,7 +863,7 @@ _
|
||||||
}
|
}
|
||||||
export -f my_func3
|
export -f my_func3
|
||||||
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out -S $SERVER1 my_func3 {} ::: abc-file
|
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out -S $SERVER1 my_func3 {} ::: abc-file
|
||||||
( ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR;rsync --protocol 30 -rlDzR -essh\ -l\ parallel ./abc-file lo:./.TMPWORKDIR );ssh -l parallel lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; BASE64 BASE64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ./.TMPWORKDIR/./.\;\ rsync -rlDzR -essh\ -l\ parallel lo:./abc-file.out ./.;ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file.out\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
|
( ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR;rsync --protocol 30 -rlDzR -essh\ -l\ parallel ./abc-file lo:./.TMPWORKDIR );ssh -l parallel lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; BASE64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ./.TMPWORKDIR/./.\;\ rsync -rlDzR -essh\ -l\ parallel lo:./abc-file.out ./.;ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file.out\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
|
||||||
parallel --sqlandworker csv:////%2Ftmp%2Flog.csv seq ::: 10 ::: 12 13 14
|
parallel --sqlandworker csv:////%2Ftmp%2Flog.csv seq ::: 10 ::: 12 13 14
|
||||||
cat /tmp/log.csv
|
cat /tmp/log.csv
|
||||||
99
|
99
|
||||||
|
@ -926,23 +935,23 @@ parallel: Error: echo is not a valid DBURL
|
||||||
parallel --sqlworker $DBURLTABLE echo ::: foo bar ::: baz quuz
|
parallel --sqlworker $DBURLTABLE echo ::: foo bar ::: baz quuz
|
||||||
parallel: Error: echo is not a valid DBURL
|
parallel: Error: echo is not a valid DBURL
|
||||||
cat num1000000 | parallel --pipe wc
|
cat num1000000 | parallel --pipe wc
|
||||||
165668 165668 1048571
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
85352 85352 597465
|
85352 85352 597465
|
||||||
cat num1000000 | parallel --pipe --block 2M wc
|
cat num1000000 | parallel --pipe --block 2M wc
|
||||||
315465 315465 2097150
|
999999 999999 9999999
|
||||||
299593 299593 2097151
|
999999 999999 9999999
|
||||||
299593 299593 2097151
|
999999 999999 9999999
|
||||||
85349 85349 597444
|
85349 85349 597444
|
||||||
cat num1000000 | parallel --pipe -j4 --round-robin wc
|
cat num1000000 | parallel --pipe -j4 --round-robin wc
|
||||||
315464 315464 2097143
|
999999 999999 9999999
|
||||||
299592 299592 2097144
|
999999 999999 9999999
|
||||||
235148 235148 1646037
|
999999 999999 9999999
|
||||||
149796 149796 1048572
|
999999 999999 9999999
|
||||||
cat num1000000 | parallel --pipe -N140000 wc
|
cat num1000000 | parallel --pipe -N140000 wc
|
||||||
140000 140000 868895
|
140000 140000 868895
|
||||||
140000 140000 980000
|
140000 140000 980000
|
||||||
|
@ -953,12 +962,12 @@ parallel: Error: echo is not a valid DBURL
|
||||||
140000 140000 980000
|
140000 140000 980000
|
||||||
20000 20000 140001
|
20000 20000 140001
|
||||||
cat num1000000 | parallel --pipe -L75 wc
|
cat num1000000 | parallel --pipe -L75 wc
|
||||||
165600 165600 1048095
|
999999 999999 9999999
|
||||||
149775 149775 1048425
|
999999 999999 9999999
|
||||||
149775 149775 1048425
|
999999 999999 9999999
|
||||||
149775 149775 1048425
|
999999 999999 9999999
|
||||||
149775 149775 1048425
|
999999 999999 9999999
|
||||||
149775 149775 1048425
|
999999 999999 9999999
|
||||||
85500 85500 598500
|
85500 85500 598500
|
||||||
25 25 176
|
25 25 176
|
||||||
echo /foo, bar/, /baz, qux/, | parallel -kN1 --recend ', ' --pipe echo JOB{#}\;cat\;echo END
|
echo /foo, bar/, /baz, qux/, | parallel -kN1 --recend ', ' --pipe echo JOB{#}\;cat\;echo END
|
||||||
|
@ -1050,8 +1059,8 @@ JOB4
|
||||||
%head2
|
%head2
|
||||||
99
|
99
|
||||||
parallel --pipepart -a num1000000 --block 3m wc
|
parallel --pipepart -a num1000000 --block 3m wc
|
||||||
444444 444444 3000003
|
999999 999999 9999999
|
||||||
428572 428572 3000004
|
999999 999999 9999999
|
||||||
126984 126984 888889
|
126984 126984 888889
|
||||||
cat input_file | parallel command
|
cat input_file | parallel command
|
||||||
/bin/bash: This is input_file: command not found
|
/bin/bash: This is input_file: command not found
|
||||||
|
|
|
@ -55,35 +55,35 @@ Yes it does
|
||||||
12 74 500
|
12 74 500
|
||||||
### Test -r
|
### Test -r
|
||||||
dburl pg://nongood@127.0.0.3:2227/
|
dburl pg://nongood@127.0.0.3:2227/
|
||||||
databasedriver pg user nongood password host 127.0.0.3 port 2227 database query
|
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
### Test --retries=s
|
### Test --retries=s
|
||||||
dburl pg://nongood@127.0.0.3:2227/
|
dburl pg://nongood@127.0.0.3:2227/
|
||||||
databasedriver pg user nongood password host 127.0.0.3 port 2227 database query
|
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
psql -h 127.0.0.3 -U nongood -p 2227
|
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
|
||||||
psql: could not connect to server: Connection refused
|
psql: could not connect to server: Connection refused
|
||||||
Is the server running on host "127.0.0.3" and accepting
|
Is the server running on host "127.0.0.3" and accepting
|
||||||
TCP/IP connections on port 2227?
|
TCP/IP connections on port 2227?
|
||||||
|
|
|
@ -77,7 +77,7 @@ OK
|
||||||
Input for ssh
|
Input for ssh
|
||||||
-l parallel one-server -- mkdir -p ./.
|
-l parallel one-server -- mkdir -p ./.
|
||||||
-l parallel one-server rsync --server -lDrRze.iLs . ./.
|
-l parallel one-server rsync --server -lDrRze.iLs . ./.
|
||||||
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;my\$eval\=decode_base64\(join\"\",@ARGV\)\;eval\$eval\; base64
|
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;my\(\$in,\$out,\$eval\)\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
|
||||||
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
||||||
'newlineX.out
|
'newlineX.out
|
||||||
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
||||||
|
@ -90,7 +90,7 @@ Input for ssh
|
||||||
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
|
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
|
||||||
-l parallel one-server -- mkdir -p ./.
|
-l parallel one-server -- mkdir -p ./.
|
||||||
-l parallel one-server rsync --server -lDrRze.iLs . ./.
|
-l parallel one-server rsync --server -lDrRze.iLs . ./.
|
||||||
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;my\$eval\=decode_base64\(join\"\",@ARGV\)\;eval\$eval\; base64
|
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;my\(\$in,\$out,\$eval\)\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
|
||||||
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
||||||
'newlineX.out
|
'newlineX.out
|
||||||
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
echo '### Test --return of weirdly named file'
|
echo '### Test --return of weirdly named file'
|
||||||
### Test --return of weirdly named file
|
### Test --return of weirdly named file
|
||||||
stdout parallel --return {} -vv -S parallel\@parallel-server3 echo '>'{} ::: 'aa<${#}" b' | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'; rm 'aa<${#}" b'
|
stdout parallel --return {} -vv -S parallel\@parallel-server3 echo '>'{} ::: 'aa<${#}" b' | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'; rm 'aa<${#}" b'
|
||||||
ssh -l parallel one-server -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; base64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ././.\;\ rsync -rlDzR -essh\ -l\ parallel parallel-server3:./aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./.; exit $_EXIT_status;
|
ssh -l parallel one-server -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ././.\;\ rsync -rlDzR -essh\ -l\ parallel parallel-server3:./aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./.; exit $_EXIT_status;
|
||||||
echo '### Test if remote login shell is csh'
|
echo '### Test if remote login shell is csh'
|
||||||
### Test if remote login shell is csh
|
### Test if remote login shell is csh
|
||||||
stdout parallel -k -vv -S csh@localhost 'echo $PARALLEL_PID $PARALLEL_SEQ {}| wc -w' ::: a b c | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'
|
stdout parallel -k -vv -S csh@localhost 'echo $PARALLEL_PID $PARALLEL_SEQ {}| wc -w' ::: a b c | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'
|
||||||
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; base64;
|
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
|
||||||
3
|
3
|
||||||
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; base64;
|
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
|
||||||
3
|
3
|
||||||
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;my\\\$eval\\\=decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\;eval\\\$eval\\\; base64;
|
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
|
||||||
3
|
3
|
||||||
|
|
Loading…
Reference in a new issue