mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-30 01:47:56 +00:00
926 lines
29 KiB
Plaintext
926 lines
29 KiB
Plaintext
### Test -p --interactive
|
|
spawn /tmp/parallel-script-for-expect
|
|
Academic tradition requires you to cite works you base your article on.
|
|
When using programs that use GNU Parallel to process data for publication
|
|
please cite:
|
|
|
|
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
;login: The USENIX Magazine, February 2011:42-47.
|
|
|
|
This helps funding further development; and it won't cost you a cent.
|
|
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
|
|
Silence the citation notice: run 'parallel --bibtex' once or use '--will-cite'.
|
|
|
|
sleep 0.1; echo opt-p 1 ?...y
|
|
sleep 0.1; echo opt-p 2 ?...n
|
|
sleep 0.1; echo opt-p 3 ?...y
|
|
opt-p 1
|
|
opt-p 3
|
|
Academic tradition requires you to cite works you base your article on.
|
|
When using programs that use GNU Parallel to process data for publication
|
|
please cite:
|
|
|
|
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
;login: The USENIX Magazine, February 2011:42-47.
|
|
|
|
This helps funding further development; and it won't cost you a cent.
|
|
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
|
|
Silence the citation notice: run 'parallel --bibtex' once or use '--will-cite'.
|
|
|
|
sleep 0.1; echo opt--interactive 1 ?...y
|
|
sleep 0.1; echo opt--interactive 2 ?...n
|
|
sleep 0.1; echo opt--interactive 3 ?...y
|
|
opt--interactive 1
|
|
opt--interactive 3
|
|
|
|
echo '### Test killing children with --timeout and exit value (failed if timed out)'
|
|
### Test killing children with --timeout and exit value (failed if timed out)
|
|
pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc; parallel --timeout 3 'true {} ; for i in `seq 100 120`; do bash -c "(sleep $i)" & sleep $i & done; wait; echo No good' ::: 1000000000 1000000001 ; echo $?; sleep 2; pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc
|
|
0 0 0
|
|
2
|
|
0 0 0
|
|
echo '### Test -L -l and --max-lines'
|
|
### Test -L -l and --max-lines
|
|
(echo a_b;echo c) | parallel -km -L2 echo
|
|
a_b
|
|
c
|
|
(echo a_b;echo c) | parallel -k -L2 echo
|
|
a_b c
|
|
(echo a_b;echo c) | xargs -L2 echo
|
|
a_b c
|
|
echo '### xargs -L1 echo'
|
|
### xargs -L1 echo
|
|
(echo a_b;echo c) | parallel -km -L1 echo
|
|
a_b
|
|
c
|
|
(echo a_b;echo c) | parallel -k -L1 echo
|
|
a_b
|
|
c
|
|
(echo a_b;echo c) | xargs -L1 echo
|
|
a_b
|
|
c
|
|
echo 'Lines ending in space should continue on next line'
|
|
Lines ending in space should continue on next line
|
|
echo '### xargs -L1 echo'
|
|
### xargs -L1 echo
|
|
(echo a_b' ';echo c;echo d) | parallel -km -L1 echo
|
|
a_b c
|
|
d
|
|
(echo a_b' ';echo c;echo d) | parallel -k -L1 echo
|
|
a_b c
|
|
d
|
|
(echo a_b' ';echo c;echo d) | xargs -L1 echo
|
|
a_b c
|
|
d
|
|
echo '### xargs -L2 echo'
|
|
### xargs -L2 echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -km -L2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -k -L2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs -L2 echo
|
|
a_b c d
|
|
e
|
|
echo '### xargs -l echo'
|
|
### xargs -l echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -l -km echo # This behaves wrong
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -l -k echo # This behaves wrong
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs -l echo
|
|
a_b c
|
|
d
|
|
e
|
|
echo '### xargs -l2 echo'
|
|
### xargs -l2 echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -km -l2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -k -l2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs -l2 echo
|
|
a_b c d
|
|
e
|
|
echo '### xargs -l1 echo'
|
|
### xargs -l1 echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -km -l1 echo
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -k -l1 echo
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs -l1 echo
|
|
a_b c
|
|
d
|
|
e
|
|
echo '### xargs --max-lines=2 echo'
|
|
### xargs --max-lines=2 echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -km --max-lines 2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel -k --max-lines 2 echo
|
|
a_b c d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs --max-lines=2 echo
|
|
a_b c d
|
|
e
|
|
echo '### xargs --max-lines echo'
|
|
### xargs --max-lines echo
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel --max-lines -km echo # This behaves wrong
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | parallel --max-lines -k echo # This behaves wrong
|
|
a_b c
|
|
d
|
|
e
|
|
(echo a_b' ';echo c;echo d;echo e) | xargs --max-lines echo
|
|
a_b c
|
|
d
|
|
e
|
|
echo '### test too long args'
|
|
### test too long args
|
|
perl -e 'print "z"x1000000' | parallel echo 2>&1
|
|
parallel: Error: Command line too long (1000005 >= 131071) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
|
perl -e 'print "z"x1000000' | xargs echo 2>&1
|
|
xargs: argument line too long
|
|
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdout parallel -j1 -km -s 10 echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
|
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdout xargs -s 10 echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
xargs: argument line too long
|
|
9 10
|
|
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdout parallel -j1 -kX -s 10 echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
|
echo '### Test -x'
|
|
### Test -x
|
|
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
|
|
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
|
|
(seq 1 10; echo 12345; seq 12 15) | stdout xargs -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
xargs: argument line too long
|
|
7 8
|
|
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
1234
|
|
12
|
|
13
|
|
14
|
|
15
|
|
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
1234
|
|
12
|
|
13
|
|
14
|
|
15
|
|
(seq 1 10; echo 1234; seq 12 15) | stdout xargs -s 10 -x echo
|
|
1 2
|
|
3 4
|
|
5 6
|
|
7 8
|
|
9 10
|
|
1234
|
|
12
|
|
13
|
|
14
|
|
15
|
|
echo '### Test -a and --arg-file: Read input from file instead of stdin'
|
|
### Test -a and --arg-file: Read input from file instead of stdin
|
|
seq 1 10 >/tmp/parallel_$$-1; parallel -k -a /tmp/parallel_$$-1 echo; rm /tmp/parallel_$$-1
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
seq 1 10 >/tmp/parallel_$$-2; parallel -k --arg-file /tmp/parallel_$$-2 echo; rm /tmp/parallel_$$-2
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
xargs Expect: 3 1 2
|
|
3
|
|
1
|
|
2
|
|
parallel Expect: 3 1 via psedotty 2
|
|
Academic tradition requires you to cite works you base your article on.
|
|
When using programs that use GNU Parallel to process data for publication
|
|
please cite:
|
|
|
|
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
;login: The USENIX Magazine, February 2011:42-47.
|
|
|
|
This helps funding further development; and it won't cost you a cent.
|
|
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
|
|
Silence the citation notice: run 'parallel --bibtex' once or use '--will-cite'.
|
|
|
|
3
|
|
1
|
|
via pseudotty
|
|
2
|
|
xargs Expect: 1 3 2
|
|
1
|
|
3
|
|
2
|
|
parallel Expect: 1 3 2 via pseudotty
|
|
Academic tradition requires you to cite works you base your article on.
|
|
When using programs that use GNU Parallel to process data for publication
|
|
please cite:
|
|
|
|
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
;login: The USENIX Magazine, February 2011:42-47.
|
|
|
|
This helps funding further development; and it won't cost you a cent.
|
|
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
|
|
Silence the citation notice: run 'parallel --bibtex' once or use '--will-cite'.
|
|
|
|
1
|
|
3
|
|
2
|
|
via pseudotty
|
|
### Hans found a bug giving unitialized variable
|
|
gzip /tmp/parallel_f1
|
|
gzip /tmp/parallel_f2'
|
|
'
|
|
echo '### Test -i and --replace: Replace with argument'
|
|
### Test -i and --replace: Replace with argument
|
|
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{}ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k -i+ -eEND echo repl+ce
|
|
replace
|
|
(echo e; echo END; echo b) | parallel -k -i'*' -eEND echo r'*'plac'*'
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k --replace + -eEND echo repl+ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k --replace== -eEND echo repl=ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k --replace = -eEND echo repl=ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k --replace=^ -eEND echo repl^ce
|
|
replace
|
|
(echo a; echo END; echo b) | parallel -k -I^ -eEND echo repl^ce
|
|
replace
|
|
echo '### Test -E: Artificial end-of-file'
|
|
### Test -E: Artificial end-of-file
|
|
(echo include this; echo END; echo not this) | parallel -k -E END echo
|
|
include this
|
|
(echo include this; echo END; echo not this) | parallel -k -EEND echo
|
|
include this
|
|
echo '### Test -e and --eof: Artificial end-of-file'
|
|
### Test -e and --eof: Artificial end-of-file
|
|
(echo include this; echo END; echo not this) | parallel -k -e END echo
|
|
include this
|
|
(echo include this; echo END; echo not this) | parallel -k -eEND echo
|
|
include this
|
|
(echo include this; echo END; echo not this) | parallel -k --eof=END echo
|
|
include this
|
|
(echo include this; echo END; echo not this) | parallel -k --eof END echo
|
|
include this
|
|
echo '### Test -n and --max-args: Max number of args per line (only with -X and -m)'
|
|
### Test -n and --max-args: Max number of args per line (only with -X and -m)
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -m echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -m echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -X echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -X echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args=1 -X echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args 1 -X echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args=2 -X echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 -X echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args 1 echo
|
|
line 1
|
|
line 2
|
|
line 3
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 echo
|
|
line 1 line 1
|
|
line 2
|
|
echo '### Test --max-procs and -P: Number of processes'
|
|
### Test --max-procs and -P: Number of processes
|
|
seq 1 10 | parallel -k --max-procs +0 echo max proc
|
|
max proc 1
|
|
max proc 2
|
|
max proc 3
|
|
max proc 4
|
|
max proc 5
|
|
max proc 6
|
|
max proc 7
|
|
max proc 8
|
|
max proc 9
|
|
max proc 10
|
|
seq 1 10 | parallel -k -P 200% echo 200% proc
|
|
200% proc 1
|
|
200% proc 2
|
|
200% proc 3
|
|
200% proc 4
|
|
200% proc 5
|
|
200% proc 6
|
|
200% proc 7
|
|
200% proc 8
|
|
200% proc 9
|
|
200% proc 10
|
|
echo '### Test --delimiter and -d: Delimiter instead of newline'
|
|
### Test --delimiter and -d: Delimiter instead of newline
|
|
echo '# Yes there is supposed to be an extra newline for -d N'
|
|
# Yes there is supposed to be an extra newline for -d N
|
|
echo line 1Nline 2Nline 3 | parallel -k -d N echo This is
|
|
This is line 1
|
|
This is line 2
|
|
This is line 3
|
|
|
|
echo line 1Nline 2Nline 3 | parallel -k --delimiter N echo This is
|
|
This is line 1
|
|
This is line 2
|
|
This is line 3
|
|
|
|
printf "delimiter NUL line 1\0line 2\0line 3" | parallel -k -d '\0' echo
|
|
delimiter NUL line 1
|
|
line 2
|
|
line 3
|
|
printf "delimiter TAB line 1\tline 2\tline 3" | parallel -k --delimiter '\t' echo
|
|
delimiter TAB line 1
|
|
line 2
|
|
line 3
|
|
echo '### Test --max-chars and -s: Max number of chars in a line'
|
|
### Test --max-chars and -s: Max number of chars in a line
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-chars 25 -X echo
|
|
line 1 line 1
|
|
line 2
|
|
(echo line 1;echo line 1;echo line 2) | parallel -k -s 25 -X echo
|
|
line 1 line 1
|
|
line 2
|
|
echo '### Test --no-run-if-empty and -r: This should give no output'
|
|
### Test --no-run-if-empty and -r: This should give no output
|
|
echo " " | parallel -r echo
|
|
echo " " | parallel --no-run-if-empty echo
|
|
echo '### Test --help and -h: Help output (just check we get the same amount of lines)'
|
|
### Test --help and -h: Help output (just check we get the same amount of lines)
|
|
echo Output from -h and --help
|
|
Output from -h and --help
|
|
parallel -h | wc -l
|
|
37
|
|
parallel --help | wc -l
|
|
37
|
|
echo '### Test --version: Version output (just check we get the same amount of lines)'
|
|
### Test --version: Version output (just check we get the same amount of lines)
|
|
parallel --version | wc -l
|
|
11
|
|
echo '### Test --verbose and -t'
|
|
### Test --verbose and -t
|
|
(echo b; echo c; echo f) | parallel -k -t echo {}ar 2>&1 >/dev/null
|
|
echo bar
|
|
echo car
|
|
echo far
|
|
(echo b; echo c; echo f) | parallel -k --verbose echo {}ar 2>&1 >/dev/null
|
|
echo bar
|
|
echo car
|
|
echo far
|
|
echo '### Test --show-limits'
|
|
### Test --show-limits
|
|
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
|
Maximal size of command: 131071
|
|
Maximal used size of command: 131071
|
|
|
|
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
|
|
press CTRL-D or CTRL-C
|
|
bar
|
|
car
|
|
far
|
|
(echo b; echo c; echo f) | parallel -j1 -kX --show-limits -s 100 echo {}ar
|
|
Maximal size of command: 131071
|
|
Maximal used size of command: 100
|
|
|
|
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
|
|
press CTRL-D or CTRL-C
|
|
bar car far
|
|
echo '### Test empty line as input'
|
|
### Test empty line as input
|
|
echo | parallel echo empty input line
|
|
empty input line
|
|
echo '### Tests if (cat | sh) works'
|
|
### Tests if (cat | sh) works
|
|
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | parallel 2>&1 | sort
|
|
a 1
|
|
a 10
|
|
a 11
|
|
a 12
|
|
a 13
|
|
a 14
|
|
a 15
|
|
a 16
|
|
a 17
|
|
a 18
|
|
a 19
|
|
a 2
|
|
a 20
|
|
a 21
|
|
a 22
|
|
a 23
|
|
a 24
|
|
a 25
|
|
a 3
|
|
a 4
|
|
a 5
|
|
a 6
|
|
a 7
|
|
a 8
|
|
a 9
|
|
b 1
|
|
b 10
|
|
b 11
|
|
b 12
|
|
b 13
|
|
b 14
|
|
b 15
|
|
b 16
|
|
b 17
|
|
b 18
|
|
b 19
|
|
b 2
|
|
b 20
|
|
b 21
|
|
b 22
|
|
b 23
|
|
b 24
|
|
b 25
|
|
b 3
|
|
b 4
|
|
b 5
|
|
b 6
|
|
b 7
|
|
b 8
|
|
b 9
|
|
echo '### Test if xargs-mode works'
|
|
### Test if xargs-mode works
|
|
perl -e 'for(1..25) {print "a $_\nb $_\n"}' | parallel echo 2>&1 | sort
|
|
a 1
|
|
a 10
|
|
a 11
|
|
a 12
|
|
a 13
|
|
a 14
|
|
a 15
|
|
a 16
|
|
a 17
|
|
a 18
|
|
a 19
|
|
a 2
|
|
a 20
|
|
a 21
|
|
a 22
|
|
a 23
|
|
a 24
|
|
a 25
|
|
a 3
|
|
a 4
|
|
a 5
|
|
a 6
|
|
a 7
|
|
a 8
|
|
a 9
|
|
b 1
|
|
b 10
|
|
b 11
|
|
b 12
|
|
b 13
|
|
b 14
|
|
b 15
|
|
b 16
|
|
b 17
|
|
b 18
|
|
b 19
|
|
b 2
|
|
b 20
|
|
b 21
|
|
b 22
|
|
b 23
|
|
b 24
|
|
b 25
|
|
b 3
|
|
b 4
|
|
b 5
|
|
b 6
|
|
b 7
|
|
b 8
|
|
b 9
|
|
echo '### Test -q'
|
|
### Test -q
|
|
parallel -kq perl -e '$ARGV[0]=~/^\S+\s+\S+$/ and print $ARGV[0],"\n"' ::: "a b" c "d e f" g "h i"
|
|
a b
|
|
h i
|
|
echo '### Test -q {#}'
|
|
### Test -q {#}
|
|
parallel -kq echo {#} ::: a b
|
|
1
|
|
2
|
|
parallel -kq echo {\#} ::: a b
|
|
1
|
|
2
|
|
parallel -kq echo {\\#} ::: a b
|
|
{\#} a
|
|
{\#} b
|
|
echo '### Test long commands do not take up all memory'
|
|
### Test long commands do not take up all memory
|
|
seq 1 100 | parallel -j0 -qv perl -e '$r=rand(shift);for($f=0;$f<$r;$f++){$a="a"x100};print shift,"\n"' 10000 2>/dev/null | sort
|
|
1
|
|
10
|
|
100
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15
|
|
16
|
|
17
|
|
18
|
|
19
|
|
2
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28
|
|
29
|
|
3
|
|
30
|
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
|
37
|
|
38
|
|
39
|
|
4
|
|
40
|
|
41
|
|
42
|
|
43
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
|
49
|
|
5
|
|
50
|
|
51
|
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|
6
|
|
60
|
|
61
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
7
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
8
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86
|
|
87
|
|
88
|
|
89
|
|
9
|
|
90
|
|
91
|
|
92
|
|
93
|
|
94
|
|
95
|
|
96
|
|
97
|
|
98
|
|
99
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 1
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 10
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 100
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 11
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 12
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 13
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 14
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 15
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 16
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 17
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 18
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 19
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 2
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 20
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 21
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 22
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 23
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 24
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 25
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 26
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 27
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 28
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 29
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 3
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 30
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 31
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 32
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 33
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 34
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 35
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 36
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 37
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 38
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 39
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 4
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 40
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 41
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 42
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 43
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 44
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 45
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 46
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 47
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 48
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 49
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 5
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 50
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 51
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 52
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 53
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 54
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 55
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 56
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 57
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 58
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 59
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 6
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 60
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 61
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 62
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 63
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 64
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 65
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 66
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 67
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 68
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 69
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 7
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 70
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 71
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 72
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 73
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 74
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 75
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 76
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 77
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 78
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 79
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 8
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 80
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 81
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 82
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 83
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 84
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 85
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 86
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 87
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 88
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 89
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 9
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 90
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 91
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 92
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 93
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 94
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 95
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 96
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 97
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 98
|
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 99
|
|
echo '### Test 0-arguments'
|
|
### Test 0-arguments
|
|
seq 1 2 | parallel -k -n0 echo n0
|
|
n0
|
|
n0
|
|
seq 1 2 | parallel -k -L0 echo L0
|
|
L0
|
|
L0
|
|
seq 1 2 | parallel -k -N0 echo N0
|
|
N0
|
|
N0
|
|
echo '### Because of --tollef -l, then -l0 == -l1, sorry'
|
|
### Because of --tollef -l, then -l0 == -l1, sorry
|
|
seq 1 2 | parallel -k -l0 echo l0
|
|
l0 1
|
|
l0 2
|
|
echo '### Test replace {}'
|
|
### Test replace {}
|
|
seq 1 2 | parallel -k -N0 echo replace {} curlies
|
|
replace curlies
|
|
replace curlies
|
|
echo '### Test arguments on commandline'
|
|
### Test arguments on commandline
|
|
parallel -k -N0 echo args on cmdline ::: 1 2
|
|
args on cmdline
|
|
args on cmdline
|
|
echo '### Test --nice locally'
|
|
### Test --nice locally
|
|
parallel --nice 1 -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b
|
|
\nice -n1 /bin/bash -c PAR=a\ bash\ -c\ \"echo\ \ \\\$PAR\ b\"
|
|
a b
|
|
echo '### Test --nice remote'
|
|
### Test --nice remote
|
|
stdout parallel --nice 1 -S .. -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b | perl -pe 's/\S*parallel-server\S*/one-server/;s/[a-f0-9]{500,}/hex/;s/\d{5,8}/pId/g;'
|
|
ssh one-server exec perl\ -e\ \\\$ENV\\\{\\\"PARALLEL_PID\\\"\\\}=\\\"pId\\\"\\\;\\\$ENV\\\{\\\"PARALLEL_SEQ\\\"\\\}=\\\"1\\\"\\\;\\\$bashfunc\\\ =\\\ \\\"\\\"\\\;@ARGV=\\\"\\\\\\\\nice\\\ -n1\\\ \\\\\\\$SHELL\\\ -c\\\ PAR=a\\\\\\\\\\\ bash\\\\\\\\\\\ -c\\\\\\\\\\\ \\\\\\\\\\\\\\\"echo\\\\\\\\\\\ \\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$PAR\\\\\\\\\\\ b\\\\\\\\\\\\\\\"\\\"\\\;\\\$SIG\\\{CHLD\\\}=sub\\\{\\\$done=1\\\;\\\}\\\;\\\$pid=fork\\\;unless\\\(\\\$pid\\\)\\\{setpgrp\\\;exec\\\$ENV\\\{SHELL\\\},\\\"-c\\\",\\\(\\\$bashfunc.\\\"@ARGV\\\"\\\)\\\;die\\\"exec:\\\$\\\!\\\\n\\\"\\\;\\\}do\\\{\\\$s=\\\$s\\\<1\\\?0.001+\\\$s\\\*1.03:\\\$s\\\;select\\\(undef,undef,undef,\\\$s\\\)\\\;\\\}until\\\(\\\$done\\\|\\\|getppid==1\\\)\\\;kill\\\(SIGHUP,-\\\$\\\{pid\\\}\\\)unless\\\$done\\\;wait\\\;exit\\\(\\\$\\\?\\\&127\\\?128+\\\(\\\$\\\?\\\&127\\\):1+\\\$\\\?\\\>\\\>8\\\);
|
|
a b
|
|
echo '### Test distribute arguments at EOF to 2 jobslots'
|
|
### Test distribute arguments at EOF to 2 jobslots
|
|
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
|
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
|
66 67 68 69
|
|
70 71 72 73
|
|
74 75 76 77
|
|
78 79 80 81
|
|
82 83 84 85
|
|
86 87 88 89
|
|
90 91 92
|
|
echo '### 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
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
|
66 67 68
|
|
69 70 71
|
|
72 73 74
|
|
75 76 77
|
|
78 79 80
|
|
81 82 83
|
|
84 85 86
|
|
87 88 89
|
|
90 91 92
|
|
echo '### Test distribute arguments at EOF to infinity jobslots'
|
|
### Test distribute arguments at EOF to infinity jobslots
|
|
seq 1 92 | parallel -j0 -kX -s 100 echo 2>/dev/null
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86
|
|
87
|
|
88
|
|
89
|
|
90
|
|
91
|
|
92
|
|
echo '### Test -N is not broken by distribution - single line'
|
|
### Test -N is not broken by distribution - single line
|
|
seq 9 | parallel -N 10 echo
|
|
1 2 3 4 5 6 7 8 9
|
|
echo '### Test -N is not broken by distribution - two lines'
|
|
### Test -N is not broken by distribution - two lines
|
|
seq 19 | parallel -k -N 10 echo
|
|
1 2 3 4 5 6 7 8 9 10
|
|
11 12 13 14 15 16 17 18 19
|
|
echo '### Test -N context replace'
|
|
### Test -N context replace
|
|
seq 19 | parallel -k -N 10 echo a{}b
|
|
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
|
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
|
echo '### Test -L context replace'
|
|
### Test -L context replace
|
|
seq 19 | parallel -k -L 10 echo a{}b
|
|
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
|
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|