2015-07-29 00:33:28 +00:00
echo '### Test bug #45619: "--halt" erroneous error exit code (should give 0)'; seq 10 | parallel --halt now,fail=1 true; echo $?
### Test bug #45619: "--halt" erroneous error exit code (should give 0)
0
echo '**'
**
2014-07-15 00:40:38 +00:00
echo '### Test exit val - true'; echo true | parallel; echo $?
2013-12-19 01:19:19 +00:00
### Test exit val - true
0
2014-07-15 00:40:38 +00:00
echo '**'
2013-12-19 01:19:19 +00:00
**
2014-07-15 00:40:38 +00:00
echo '### Test exit val - false'; echo false | parallel; echo $?
2013-12-19 01:19:19 +00:00
### Test exit val - false
1
2014-07-15 00:40:38 +00:00
echo '**'
2013-12-19 01:19:19 +00:00
**
2014-09-23 18:14:57 +00:00
echo '### Test bug #43284: {%} and {#} with --xapply'; parallel --xapply 'echo {1} {#} {%} {2}' ::: a ::: b; parallel -N2 'echo {%}' ::: a b
### Test bug #43284: {%} and {#} with --xapply
a 1 1 b
1
echo '**'
**
2016-04-04 21:37:54 +00:00
echo '### bug #47501: --xapply for some input sources'
### bug #47501: --xapply for some input sources
# Wrapping does not work yet
parallel -k echo ::: a b c aWRAP :::+ aa bb cc ::: A B :::+ AA BB AAwrap
a aa A AA
a aa B BB
b bb A AA
b bb B BB
c cc A AA
c cc B BB
echo '**'
**
2014-10-14 20:56:03 +00:00
echo '### Test bug #43376: {%} and {#} with --pipe'
### Test bug #43376: {%} and {#} with --pipe
2015-01-02 21:32:00 +00:00
echo foo | parallel -q --pipe -k echo {#}
2014-10-14 20:56:03 +00:00
1
2015-01-02 21:32:00 +00:00
echo foo | parallel --pipe -k echo {%}
2014-10-14 20:56:03 +00:00
1
2015-01-02 21:32:00 +00:00
echo foo | parallel -q --pipe -k echo {%}
2014-10-14 20:56:03 +00:00
1
2015-01-02 21:32:00 +00:00
echo foo | parallel --pipe -k echo {#}
2014-10-14 20:56:03 +00:00
1
echo '**'
**
2014-12-12 12:30:54 +00:00
echo '### {= and =} in different groups separated by space'
### {= and =} in different groups separated by space
2015-01-02 21:32:00 +00:00
parallel echo {= s/a/b/ =} ::: a
b
parallel echo {= s/a/b/=} ::: a
b
parallel echo {= s/a/b/=}{= s/a/b/=} ::: a
bb
parallel echo {= s/a/b/=}{=s/a/b/=} ::: a
bb
parallel echo {= s/a/b/=}{= {= s/a/b/=} ::: a
b{= b
parallel echo {= s/a/b/=}{={=s/a/b/=} ::: a
b{=b
parallel echo {= s/a/b/ =} {={==} ::: a
b {=a
parallel echo {={= =} ::: a
{=a
parallel echo {= {= =} ::: a
{= a
parallel echo {= {= =} =} ::: a
{= a =}
2014-12-12 12:30:54 +00:00
echo '**'
**
echo '### {} as part of the command'
### {} as part of the command
echo p /bin/ls | parallel l{= s/p/s/ =}
/bin/ls
echo /bin/ls-p | parallel --colsep '-' l{=2 s/p/s/ =} {1}
/bin/ls
echo s /bin/ls | parallel l{}
/bin/ls
echo /bin/ls | parallel ls {}
/bin/ls
echo ls /bin/ls | parallel {}
/bin/ls
echo ls /bin/ls | parallel
/bin/ls
2014-12-14 08:44:32 +00:00
echo '**'
**
echo '### bug #43817: Some JP char cause problems in positional replacement strings'
### bug #43817: Some JP char cause problems in positional replacement strings
parallel -k echo ::: '<27> <<3C> >' '<27> <1 $_=2<> >' 'ワ'
<EFBFBD> <<3C> >
<EFBFBD> <1 $_=2<> >
ワ
parallel -k echo {1} ::: '<27> <<3C> >' '<27> <1 $_=2<> >' 'ワ'
<EFBFBD> <<3C> >
<EFBFBD> <1 $_=2<> >
ワ
parallel -Xj1 echo ::: '<27> <<3C> >' '<27> <1 $_=2<> >' 'ワ'
<EFBFBD> <<3C> > <20> <1 $_=2<> > ワ
parallel -Xj1 echo {1} ::: '<27> <<3C> >' '<27> <1 $_=2<> >' 'ワ'
<EFBFBD> <<3C> >
2015-03-16 18:51:08 +00:00
echo '**'
**
2015-03-17 20:36:12 +00:00
echo '### --rpl % that is a substring of longer --rpl %D'
### --rpl % that is a substring of longer --rpl %D
2017-03-11 20:19:10 +00:00
parallel --rpl '{+.} s:.*\.::' --rpl '%' --rpl '%D $_=::shell_quote(::dirname($_));' --rpl '%B s:.*/::;s:\.[^/.]+$::;' --rpl '%E s:.*\.::' 'echo {}=%;echo %D={//};echo %B={/.};echo %E={+.};echo %D/%B.%E={}' ::: a.b/c.d/e.f
2015-03-16 18:51:08 +00:00
a.b/c.d/e.f=a.b/c.d/e.f
a.b/c.d=a.b/c.d
e=e
f=f
a.b/c.d/e.f=a.b/c.d/e.f
echo '**'
**
2015-03-17 20:36:12 +00:00
echo '### Disk full'
### Disk full
2015-07-22 06:28:05 +00:00
cat /dev/zero >$SMALLDISK/out; parallel --tmpdir $SMALLDISK echo ::: OK; rm $SMALLDISK/out
2015-03-17 20:36:12 +00:00
cat: write error: No space left on device
parallel: Error: Output is incomplete. Cannot append to buffer file in /mnt/ram. Is the disk full?
parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
2017-01-01 16:51:14 +00:00
Warning: unable to close filehandle properly: No space left on device during global destruction.
2015-03-22 00:51:30 +00:00
echo '**'
**
2015-03-24 23:14:50 +00:00
echo '### bug #44614: --pipepart --header off by one'
### bug #44614: --pipepart --header off by one
seq 10 >/tmp/parallel_44616; parallel --pipepart -a /tmp/parallel_44616 -k --block 5 'echo foo; cat'; parallel --pipepart -a /tmp/parallel_44616 -k --block 2 --regexp --recend 3'\n' 'echo foo; cat'; rm /tmp/parallel_44616
foo
1
2
3
foo
4
5
6
foo
7
8
9
foo
10
foo
1
2
3
foo
4
5
6
7
8
9
10
2016-10-30 16:07:59 +00:00
echo '### PARALLEL_TMUX not found'
### PARALLEL_TMUX not found
PARALLEL_TMUX=not-existing parallel --tmux echo ::: 1
2015-03-28 11:14:30 +00:00
parallel: Error: not-existing not found in $PATH.
2015-04-20 22:08:08 +00:00
echo '**'
2015-05-06 22:40:36 +00:00
**
echo '### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2'
### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2
parallel -k echo {#} ::: 1 2 ::: 1 2
1
2
3
4
2015-05-25 20:07:37 +00:00
echo '**'
**
2016-08-03 21:45:13 +00:00
testquote() { printf '"#&/\n()*=?'"'" | PARALLEL_SHELL=$1 parallel -0 echo; }; export -f testquote; parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
2015-05-25 22:08:31 +00:00
ash "#&/
ash ()*=?'
bash "#&/
bash ()*=?'
csh "#&/
csh ()*=?'
dash "#&/
dash ()*=?'
fdsh "#&/
fdsh ()*=?'
fish "#&/
fish ()*=?'
fizsh "#&/
fizsh ()*=?'
ksh "#&/
ksh ()*=?'
ksh93 "#&/
ksh93 ()*=?'
mksh "#&/
mksh ()*=?'
posh "#&/
posh ()*=?'
2015-06-21 17:40:58 +00:00
rbash "#&/
rbash ()*=?'
2015-05-25 22:08:31 +00:00
rc "#&/
rc ()*=?'
2015-06-21 17:40:58 +00:00
rzsh "#&/
rzsh ()*=?'
2015-05-25 22:08:31 +00:00
sash "#&/
sash ()*=?'
sh "#&/
sh ()*=?'
static-sh "#&/
static-sh ()*=?'
tcsh "#&/
tcsh ()*=?'
yash "#&/
yash ()*=?'
zsh "#&/
zsh ()*=?'
2015-05-25 20:07:37 +00:00
echo '**'
**
2015-08-27 20:28:32 +00:00
echo '### bug #45769: --round-robin --pipepart gives wrong results'
### bug #45769: --round-robin --pipepart gives wrong results
seq 10000 >/tmp/seq10000; parallel -j2 --pipepart -a /tmp/seq10000 --block 14 --round-robin wc | wc -l; rm /tmp/seq10000
2
echo '**'
**
2015-08-30 23:57:14 +00:00
echo '### bug #45842: Do not evaluate {= =} twice'
### bug #45842: Do not evaluate {= =} twice
2016-05-17 00:11:38 +00:00
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004}
2015-08-30 23:57:14 +00:00
1
2
3
4
2016-05-17 00:11:38 +00:00
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004}
2015-08-30 23:57:14 +00:00
1
2
3
4
2016-05-17 00:11:38 +00:00
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004} ::: {a..c}
2015-08-30 23:57:14 +00:00
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
2016-05-17 00:11:38 +00:00
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004} ::: {a..c}
2015-08-30 23:57:14 +00:00
1
2
3
4
5
6
7
8
9
10
11
12
echo '**'
**
2015-09-12 15:51:43 +00:00
echo '### bug #45939: {2} in {= =} fails'
### bug #45939: {2} in {= =} fails
2016-05-17 00:11:38 +00:00
parallel echo '{= s/O{2}//=}' ::: OOOK
2015-09-12 15:51:43 +00:00
OK
2016-05-17 00:11:38 +00:00
parallel echo '{2}-{=1 s/O{2}//=}' ::: OOOK ::: OK
2015-09-12 15:51:43 +00:00
OK-OK
2015-09-18 20:28:47 +00:00
echo '**'
**
echo '### bug #45998: --pipe to function broken'
### bug #45998: --pipe to function broken
2016-08-03 21:45:13 +00:00
myfunc() { echo $1; cat; }; export -f myfunc; echo pipefunc OK | parallel --pipe myfunc {#}; echo pipefunc and more OK | parallel --pipe 'myfunc {#};echo and more OK'
2015-09-18 20:28:47 +00:00
1
2016-08-03 21:45:13 +00:00
pipefunc OK
1
pipefunc and more OK
and more OK
2015-09-21 23:35:52 +00:00
echo '**'
**
echo 'bug #46016: --joblog should not log when --dryrun'
bug #46016: --joblog should not log when --dryrun
2016-05-17 00:11:38 +00:00
parallel --dryrun --joblog - echo ::: Only_this
2015-09-21 23:35:52 +00:00
echo Only_this
echo '**'
**
2015-10-17 14:54:15 +00:00
echo 'bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken'
bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken
2015-10-18 13:18:30 +00:00
parallel --bar -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
2015-10-17 14:54:15 +00:00
1
2
1
2
1
2
2015-10-18 13:18:30 +00:00
parallel --halt now,fail=10% -kj2 --delay 0.1 echo {%} ::: a b ::: c d e
2015-10-17 14:54:15 +00:00
1
2
1
2
1
2
2015-10-18 13:18:30 +00:00
parallel --eta -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
2015-10-17 14:54:15 +00:00
1
2
1
2
1
2
2015-10-18 13:18:30 +00:00
parallel --shuf -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
2015-10-17 14:54:15 +00:00
1
2
1
2
1
2
echo '**'
**
echo 'bug #46231: {%} with --pipepart broken. Should give 1+2'
bug #46231: {%} with --pipepart broken. Should give 1+2
2016-05-17 00:11:38 +00:00
seq 10000 > /tmp/num10000; parallel -k --pipepart -ka /tmp/num10000 --block 10k -j2 --delay 0.05 echo {%}; rm /tmp/num10000
2015-10-17 14:54:15 +00:00
1
2
1
2
1
2015-10-17 15:10:04 +00:00
echo '**'
**
2015-10-18 09:44:02 +00:00
echo '{##} bug #45841: Replacement string for total no of jobs'
{##} bug #45841: Replacement string for total no of jobs
2015-11-29 23:47:21 +00:00
parallel -k --plus echo {##} ::: {a..j}; parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10}
2015-10-18 09:44:02 +00:00
10
10
10
10
10
10
10
10
10
10
1
2
3
4
10
10
10
10
10
10
2015-11-29 23:47:21 +00:00
parallel -k -N7 --plus echo {#} {##} ::: {1..14}
2015-10-18 13:18:30 +00:00
1 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2015-11-29 23:47:21 +00:00
parallel -k -N7 --plus echo {#} {##} ::: {1..15}
2015-10-18 13:18:30 +00:00
1 3 3 3 3 3 3 3
2 3 3 3 3 3 3 3
3 3
2016-01-23 08:54:05 +00:00
parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15}
2015-10-18 13:18:30 +00:00
1 15 15
2 15 15
3 15 15
4 15 15
5 15 15
6 15 15
7 15 15
8 15
2015-10-18 09:44:02 +00:00
echo '**'
**
2016-01-28 22:45:11 +00:00
echo 'bug #47002: --tagstring with -d \n\n'
bug #47002: --tagstring with -d \n\n
2016-05-29 21:06:15 +00:00
(seq 3;echo;seq 4) | parallel -k -d '\n\n' --tagstring {%} echo ABC';'echo
2016-01-28 22:45:11 +00:00
1 ABC
1 1
1 2
1 3
2 ABC
2 1
2 2
2 3
2 4
2
echo '**'
**
2016-02-19 21:15:08 +00:00
echo 'bug #47086: [PATCH] Initialize total_completed from joblog'
bug #47086: [PATCH] Initialize total_completed from joblog
rm -f /tmp/parallel-47086; parallel -j1 --joblog /tmp/parallel-47086 --halt now,fail=1 echo '{= $_=$Global::total_completed =};exit {}' ::: 0 0 0 1 0 0; parallel -j1 --joblog /tmp/parallel-47086 --halt now,fail=1 --resume echo '{= $_=$Global::total_completed =};exit {}' ::: 0 0 0 1 0 0
0
1
2
3
4
5
parallel: This job failed:
echo 3;exit 1
echo '**'
**
2016-03-26 09:35:13 +00:00
echo 'bug #47290: xargs: Warning: a NUL character occurred in the input'
bug #47290: xargs: Warning: a NUL character occurred in the input
perl -e 'print "foo\0not printed"' | parallel echo
foo
parallel: Warning: a NUL character occurred in the input.
parallel: Warning: It cannot be passed through in the argument list.
parallel: Warning: Did you mean to use the --null option?
echo '**'
**
2016-05-17 00:11:38 +00:00
echo '### Test --shellquote'
### Test --shellquote
2016-08-03 21:45:13 +00:00
parallel --tag -q -k {} -c perl\ -e\ \'print\ pack\(\"c\*\",1..255\)\'\ \|\ parallel\ -0\ --shellquote ::: ash bash csh dash fish fizsh ksh ksh93 lksh mksh posh rzsh sash sh static-sh tcsh yash zsh csh tcsh
2016-05-17 00:11:38 +00:00
ash \ \ \ \ \ \ \ \ '
ash '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
bash \ \ \ \ \ \ \ \ '
bash '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
csh \ \ \ \ \ \ \ \ "\
csh "\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
dash \ \ \ \ \ \ \ \ '
dash '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
fish \ \ \ \ \ \ \ \ '
fish '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
fizsh \ \ \ \ \ \ \ \ '
fizsh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
ksh \ \ \ \ \ \ \ \ '
ksh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
ksh93 \ \ \ \ \ \ \ \ '
ksh93 '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
lksh \ \ \ \ \ \ \ \ '
lksh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
mksh \ \ \ \ \ \ \ \ '
mksh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
posh \ \ \ \ \ \ \ \ '
posh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
sash \ \ \ \ \ \ \ \ '
sash '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
sh \ \ \ \ \ \ \ \ '
sh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
static-sh \ \ \ \ \ \ \ \ '
static-sh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
tcsh \ \ \ \ \ \ \ \ "\
tcsh "\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
yash \ \ \ \ \ \ \ \ '
yash '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
zsh \ \ \ \ \ \ \ \ '
zsh '\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
csh \ \ \ \ \ \ \ \ "\
csh "\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
tcsh \ \ \ \ \ \ \ \ "\
tcsh "\ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~ <> <7F> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C> \<5C>
2017-01-01 16:51:14 +00:00
rzsh zsh:1: /bin/echo: restricted
2016-05-17 00:11:38 +00:00
echo '**'
**
echo xargs compatibility
xargs compatibility
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
2017-04-17 14:25:58 +00:00
parallel: Error: Command line too long (1000005 >= 65524) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
2016-05-17 00:11:38 +00:00
perl -e 'print "z"x1000000' | xargs echo 2>&1
xargs: argument line too long
2016-08-13 17:11:15 +00:00
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdsort parallel -j1 -km -s 10 echo
2016-05-17 00:11:38 +00:00
1 2
3 4
5 6
7 8
9 10
parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
2016-08-13 17:11:15 +00:00
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdsort xargs -s 10 echo
2016-05-17 00:11:38 +00:00
1 2
3 4
5 6
7 8
9 10
2016-08-13 17:11:15 +00:00
xargs: argument line too long
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdsort parallel -j1 -kX -s 10 echo
2016-05-17 00:11:38 +00:00
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
2016-08-03 21:45:13 +00:00
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
2016-05-17 00:11:38 +00:00
1 2
3 4
5 6
7 8
9 10
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
2016-08-03 21:45:13 +00:00
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
2016-05-17 00:11:38 +00:00
1 2
3 4
5 6
7 8
9 10
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
2016-08-03 21:45:13 +00:00
(seq 1 10; echo 12345; seq 12 15) | stdsort xargs -s 10 -x echo
2016-05-17 00:11:38 +00:00
1 2
3 4
5 6
7 8
2016-08-03 21:45:13 +00:00
xargs: argument line too long
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
2016-05-17 00:11:38 +00:00
1 2
12
2016-08-03 21:45:13 +00:00
1234
2016-05-17 00:11:38 +00:00
13
14
15
3 4
5 6
7 8
9 10
2016-08-03 21:45:13 +00:00
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
1 2
2016-05-17 00:11:38 +00:00
12
2016-08-03 21:45:13 +00:00
1234
2016-05-17 00:11:38 +00:00
13
14
15
3 4
5 6
7 8
9 10
2016-08-03 21:45:13 +00:00
(seq 1 10; echo 1234; seq 12 15) | stdsort xargs -s 10 -x echo
1 2
2016-05-17 00:11:38 +00:00
12
2016-08-03 21:45:13 +00:00
1234
2016-05-17 00:11:38 +00:00
13
14
15
2016-08-03 21:45:13 +00:00
3 4
5 6
7 8
9 10
2016-05-17 00:11:38 +00:00
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
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: 131049
2017-04-17 14:25:58 +00:00
Maximal used size of command: 65524
2016-05-17 00:11:38 +00:00
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: 131049
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
PAR=a bash -c "echo \$PAR b"
a b
echo '### Test distribute arguments at EOF to 2 jobslots'
### Test distribute arguments at EOF to 2 jobslots
2017-01-01 16:51:14 +00:00
seq 1 92 | parallel -j2 -kX -s 100 echo
2016-05-17 00:11:38 +00:00
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
2016-12-08 11:04:22 +00:00
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
2016-05-17 00:11:38 +00:00
echo '### Test distribute arguments at EOF to 5 jobslots'
### Test distribute arguments at EOF to 5 jobslots
2017-01-01 16:51:14 +00:00
seq 1 92 | parallel -j5 -kX -s 100 echo
2016-05-17 00:11:38 +00:00
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
2016-12-08 11:04:22 +00:00
66 67 68 69 70 71
72 73 74 75 76 77
78 79 80 81 82 83
84 85 86 87 88 89
2016-05-17 00:11:38 +00:00
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
echo '**'
**
echo '### Test {} multiple times in different commands'
### Test {} multiple times in different commands
seq 10 | parallel -v -Xj1 echo {} \; echo {}
echo 1 2 3 4 5 6 7 8 9 10 ; echo 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
echo '### Test of -X {1}-{2} with multiple input sources'
### Test of -X {1}-{2} with multiple input sources
parallel -j1 -kX echo {1}-{2} ::: a ::: b
a-b
parallel -j2 -kX echo {1}-{2} ::: a b ::: c d
a-c
b-c
parallel -j2 -kX echo {1}-{2} ::: a b c ::: d e f
a-d
b-f
parallel -j0 -kX echo {1}-{2} ::: a b c ::: d e f
a-d
a-e
a-f
b-d
b-e
b-f
c-d
c-e
c-f
echo '### Test of -X {}-{.} with multiple input sources'
### Test of -X {}-{.} with multiple input sources
parallel -j1 -kX echo {}-{.} ::: a ::: b
a-a b-b
parallel -j2 -kX echo {}-{.} ::: a b ::: c d
a-a c-c a-a d-d
b-b c-c b-b d-d
parallel -j2 -kX echo {}-{.} ::: a b c ::: d e f
a-a d-d a-a e-e a-a f-f b-b d-d b-b e-e
b-b f-f c-c d-d c-c e-e c-c f-f
parallel -j0 -kX echo {}-{.} ::: a b c ::: d e f
a-a d-d
a-a e-e
a-a f-f
b-b d-d
b-b e-e
b-b f-f
c-c d-d
c-c e-e
c-c f-f
echo '### Test of -r with --pipe - the first should give an empty line. The second should not.'
### Test of -r with --pipe - the first should give an empty line. The second should not.
echo | parallel -j2 -N1 --pipe cat | wc -l
1
echo | parallel -r -j2 -N1 --pipe cat | wc -l
0
echo '### Test --tty'
### Test --tty
seq 0.1 0.1 0.5 | parallel -j1 --tty tty\;sleep
/dev/tty
/dev/tty
/dev/tty
/dev/tty
/dev/tty
echo '**'
**
echo '### Test bugfix if no command given'
### Test bugfix if no command given
(echo echo; seq 1 5; perl -e 'print "z"x1000000'; seq 12 15) | stdout parallel -j1 -km -s 10
1 2
/bin/bash: 3: command not found
parallel: Error: Command line too long (1000002 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
echo '**'
**
echo "bug #34958: --pipe with record size measured in lines"
bug #34958: --pipe with record size measured in lines
seq 10 | parallel -k --pipe -l 4 cat\;echo bug 34958-2
1
2
3
4
5
6
7
8
bug 34958-2
9
10
bug 34958-2
echo '**'
**
echo "bug #37325: Inefficiency of --pipe -L"
bug #37325: Inefficiency of --pipe -L
seq 2000 | parallel -k --pipe --block 1k -L 4 wc\;echo FOO | uniq
276 276 996
FOO
248 248 992
FOO
248 248 992
FOO
244 244 993
FOO
200 200 1000
FOO
200 200 1000
FOO
200 200 1000
FOO
200 200 1000
FOO
184 184 920
FOO
echo '**'
**
echo "bug #34958: --pipe with record size measured in lines"
bug #34958: --pipe with record size measured in lines
seq 10 | parallel -k --pipe -L 4 cat\;echo bug 34958-1
1
2
3
4
5
6
7
8
bug 34958-1
9
10
bug 34958-1
echo '**'
**
echo "### bug #41482: --pipe --compress blocks at different -j/seq combinations"
### bug #41482: --pipe --compress blocks at different -j/seq combinations
seq 1 | parallel -k -j2 --compress -N1 -L1 --pipe cat; echo echo 1-4 + 1-4
1
echo 1-4 + 1-4
seq 4 | parallel -k -j3 --compress -N1 -L1 -vv echo; echo 4 times wc to stderr to stdout
echo 1
2015-04-09 23:20:51 +00:00
1
2016-05-17 00:11:38 +00:00
echo 2
2
echo 3
3
echo 4
4
4 times wc to stderr to stdout
(seq 4 | parallel -k -j3 --compress -N1 -L1 --pipe wc '>&2') 2>&1 >/dev/null
1 1 2
1 1 2
1 1 2
1 1 2
echo 1 2 3 4
1 2 3 4
seq 4 | parallel -k -j3 --compress echo; echo 1 2 3 4
1
2
3
4
1 2 3 4
seq 4 | parallel -k -j1 --compress echo; echo 1 2
1
2
3
4
1 2
seq 2 | parallel -k -j1 --compress echo; echo 1 2 3
1
2
1 2 3
seq 3 | parallel -k -j2 --compress -N1 -L1 --pipe cat; echo '**'
1
2
3
**
echo '### --pipe without command'
### --pipe without command
seq -w 10 | stdout parallel --pipe
parallel: Error: --pipe/--pipepart must have a command to pipe into (e.g. 'cat').
echo '**'
**
echo '### bug #36260: {n} expansion in --colsep files fails for empty fields if all following fields are also empty'
### bug #36260: {n} expansion in --colsep files fails for empty fields if all following fields are also empty
echo A,B,, | parallel --colsep , echo {1}{3}{2}
AB
echo '**'
2016-06-28 16:13:35 +00:00
**
bash -O extglob -c '. `which env_parallel.bash`; _longopt () { case "$prev" in --+([-a-z0-9_])) echo foo;; esac; }; env_parallel echo ::: env_parallel 2>&1 '
env_parallel
echo '**'
2016-06-27 19:00:19 +00:00
**
2016-08-13 17:11:15 +00:00
echo '### bug #48745: :::+ bug'
### bug #48745: :::+ bug
2016-08-22 22:08:10 +00:00
parallel -k echo ::: 11 22 33 ::::+ <(seq 3) <(seq 21 23) ::: a b c :::+ aa bb cc
11 1 21 a aa
11 1 21 b bb
2016-08-13 17:11:15 +00:00
11 1 21 c cc
2016-08-22 22:08:10 +00:00
22 2 22 a aa
22 2 22 b bb
2016-08-13 17:11:15 +00:00
22 2 22 c cc
2016-08-22 22:08:10 +00:00
33 3 23 a aa
33 3 23 b bb
2016-08-13 17:11:15 +00:00
33 3 23 c cc
2016-08-22 22:08:10 +00:00
parallel -k echo :::: <(seq 3) <(seq 21 23) :::+ a b c ::: aa bb cc
1 21 a aa
1 21 a bb
1 21 a cc
1 22 b aa
1 22 b bb
1 22 b cc
1 23 c aa
1 23 c bb
1 23 c cc
2 21 a aa
2 21 a bb
2 21 a cc
2 22 b aa
2 22 b bb
2 22 b cc
2 23 c aa
2 23 c bb
2 23 c cc
3 21 a aa
3 21 a bb
3 21 a cc
3 22 b aa
3 22 b bb
3 22 b cc
3 23 c aa
3 23 c bb
3 23 c cc
parallel -k echo :::: <(seq 3) :::: <(seq 21 23) :::+ a b c ::: aa bb cc
1 21 a aa
1 21 a bb
1 21 a cc
1 22 b aa
1 22 b bb
1 22 b cc
1 23 c aa
1 23 c bb
1 23 c cc
2 21 a aa
2 21 a bb
2 21 a cc
2 22 b aa
2 22 b bb
2 22 b cc
2 23 c aa
2 23 c bb
2 23 c cc
3 21 a aa
3 21 a bb
3 21 a cc
3 22 b aa
3 22 b bb
3 22 b cc
3 23 c aa
3 23 c bb
3 23 c cc
2016-08-13 17:11:15 +00:00
echo '**'
**
2016-08-27 21:24:30 +00:00
echo '### bug #48658: --linebuffer --files'
### bug #48658: --linebuffer --files
2016-09-22 22:57:30 +00:00
stdout parallel --files --linebuffer 'sleep .1;seq {};sleep .1' ::: {1..10} | wc -l
2016-08-27 21:24:30 +00:00
10
echo '**'
**
2016-11-06 11:29:48 +00:00
echo 'bug #49538: --header and {= =}'
2016-11-05 17:58:46 +00:00
bug #49538: --header and {= =}
parallel --header : echo '{=v2=}{=v1 $_=Q($_)=}' ::: v1 K ::: v2 O
OK
parallel --header : echo '{2}{=1 $_=Q($_)=}' ::: v2 K ::: v1 O
2016-11-06 11:29:48 +00:00
OK
parallel --header : echo {var/.} ::: var sub/dir/file.ext
file
parallel --header : echo {var//} ::: var sub/dir/file.ext
sub/dir
parallel --header : echo {var/.} ::: var sub/dir/file.ext
file
parallel --header : echo {var/} ::: var sub/dir/file.ext
file.ext
parallel --header : echo {var.} ::: var sub/dir/file.ext
sub/dir/file
echo '**'
**
echo 'bug --colsep 0'
bug --colsep 0
parallel --colsep 0 echo {2} ::: a0OK0c
OK
parallel --header : --colsep 0 echo {ok} ::: A0ok0B a0OK0b
2016-11-05 17:58:46 +00:00
OK
echo '**'
**
2016-05-17 00:11:38 +00:00
### 1 .par file from --files expected
2016-09-22 22:57:30 +00:00
10
2017-07-21 19:43:34 +00:00
par_X_eta_div_zero ### bug #34422: parallel -X --eta crashes with div by zero
par_X_eta_div_zero
par_X_eta_div_zero Computers / CPU cores / Max jobs to run
par_X_eta_div_zero 0:local / 0 / 0
par_X_eta_div_zero
par_X_eta_div_zero Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
2017-01-01 11:42:52 +00:00
par_append_joblog ### can you append to a joblog using +
par_append_joblog 1
par_append_joblog 1
par_append_joblog 3 /tmp/parallel_append_joblog
2017-06-22 11:35:58 +00:00
par_basic_halt parallel: This job failed:
par_basic_halt false
par_basic_halt parallel: This job succeeded:
par_basic_halt true
par_basic_halt parallel: Error: --halt must have 'never', 'soon', or 'now'.
par_basic_halt parallel: Error: --halt soon must be followed by ,success or ,fail.
par_basic_halt parallel: Error: --halt now must be followed by ,success or ,fail.
2016-12-18 10:14:06 +00:00
par_empty bug #:
par_empty true
2017-01-01 11:42:52 +00:00
par_empty_line ### Test bug: empty line for | sh with -k
par_empty_line a
par_empty_line b
par_file_ending_in_newline ### Hans found a bug giving unitialized variable
par_file_ending_in_newline gzip /tmp/parallel_f1
par_file_ending_in_newline gzip /tmp/parallel_f2'
par_file_ending_in_newline '
2017-04-01 02:04:47 +00:00
par_link_files_as_only_arg bug #50685: single ::::+ does not work
par_link_files_as_only_arg 1 1 1
par_link_files_as_only_arg 2 2 2
par_link_files_as_only_arg 3 3 3
2017-06-05 09:29:04 +00:00
par_macron <09>
par_macron <09>
par_macron <09> <20>
2017-06-22 11:35:58 +00:00
par_macron <09> <20>
par_macron <09>
2017-06-23 05:44:14 +00:00
par_macron <09> <20>
par_macron "<22> " <20>
2017-06-05 09:29:04 +00:00
par_macron <09> <>
par_macron <09> <>
par_macron <09> <> <20> <>
2017-06-22 11:35:58 +00:00
par_macron <09> <> <20> <>
par_macron <09> <>
2017-06-23 05:44:14 +00:00
par_macron <09> <> <20>
par_macron "<22> <> " <20>
2017-06-22 11:35:58 +00:00
par_macron /bin/bash: -c: line 0: syntax error near unexpected token `newline'
par_macron /bin/bash: -c: line 0: `echo <20> <<3C> <<3C> ><3E> >'
2017-06-05 09:29:04 +00:00
par_macron <09> <<3C> <<3C> ><3E> >
2017-06-22 11:35:58 +00:00
par_macron /bin/bash: <20> : No such file or directory
2017-06-05 09:29:04 +00:00
par_macron <09> <<3C> <<3C> ><3E> > <20> <<3C> <<3C> ><3E> >
2017-06-22 11:35:58 +00:00
par_macron <09> <<3C> <<3C> ><3E> >
2017-06-23 05:44:14 +00:00
par_macron <09> <<3C> <<3C> ><3E> > <20> <<3C> <<3C> ><3E> >
par_macron "<22> <<3C> <<3C> ><3E> >" <20> <<3C> <<3C> ><3E> >
2017-07-06 12:36:06 +00:00
par_newline_in_command Command with newline and positional replacement strings
par_newline_in_command O K
2017-01-21 17:09:01 +00:00
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
par_pipepart_block_bigger_2G 1 1 4
2017-01-01 16:51:14 +00:00
par_python_children ### bug #49970: Python child process dies if --env is used
2017-02-04 15:01:42 +00:00
par_retries_replacement_string 11
par_retries_replacement_string 22
par_retries_replacement_string 22
par_retries_replacement_string 33
par_retries_replacement_string 33
par_retries_replacement_string 33
2017-02-05 02:24:23 +00:00
par_tagstring_pipe bug #50228: --pipe --tagstring broken
par_tagstring_pipe 1 1000 1000 3893
par_tagstring_pipe 2 1000 1000 5000
par_tagstring_pipe 3 1000 1000 5000
2017-02-05 01:46:29 +00:00
par_tee 1 a 1
par_tee 1 a 1000000 1000000 6888896
par_tee 1 b 2
par_tee 1 b 1000000 1000000 6888896
par_tee 2 a 3
par_tee 2 a 1000000 1000000 6888896
par_tee 2 b 4
par_tee 2 b 1000000 1000000 6888896
par_tee 3 a 5
par_tee 3 a 1000000 1000000 6888896
par_tee 3 b 6
par_tee 3 b 1000000 1000000 6888896
par_tee 4 a 7
par_tee 4 a 1000000 1000000 6888896
par_tee 4 b 8
par_tee 4 b 1000000 1000000 6888896
par_tee 5 a 9
par_tee 5 a 1000000 1000000 6888896
par_tee 5 b 10
par_tee 5 b 1000000 1000000 6888896
2017-02-05 22:53:28 +00:00
par_tee 1 -l 181902
par_tee 1 -c 1228633
par_tee 2 -l 181902
par_tee 2 -c 1228633
par_tee 3 -l 122854
par_tee 3 -c 815297
par_tee 4 -l 122853
par_tee 4 -c 815290
par_tee 5 -l 122853
par_tee 5 -c 815290
2017-07-21 19:43:34 +00:00
par_wd_3dot_local bug #45993: --wd ... should also work when run locally
par_wd_3dot_local parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
par_wd_3dot_local /bin
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /tmp
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /home/tange/.parallel/tmp/hostname-0-0
par_wd_3dot_local /home/tange/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK