par_END ### Test -i and --replace: Replace with argument par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END ### Test -E: Artificial end-of-file par_END include this par_END include this par_END ### Test -e and --eof: Artificial end-of-file par_END include this par_END include this par_END include this par_END include this par__pipe_tee bug #45479: --pipe/--pipepart --tee par__pipe_tee --pipe --tee par__pipe_tee 314572800 par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922 par__pipepart_spawn 1:local / 2+ / 2+ par__pipepart_tee bug #45479: --pipe/--pipepart --tee par__pipepart_tee --pipepart --tee par__pipepart_tee 314572800 par_colsep ### Test of --colsep par_colsep a b c par_colsep a b c par_colsep a b c d par_colsep a b c par_colsep d e f par_colsep a b c par_colsep d e f par_colsep a b c par_colsep a b c par_colsep a b c d par_colsep ### Test of tab as colsep par_colsep abc def par_colsep ghi jkl par_colsep abc def par_colsep ghi jkl par_colsep ### Test of multiple -a plus colsep par_colsep abc def par_colsep mno jkl par_colsep ### Test of multiple -a no colsep par_colsep abc def ghi par_colsep jkl mno pqr par_colsep ### Test of quoting after colsplit par_colsep >/tmp/null >/dev/null par_colsep ### Test of --colsep as regexp par_colsep a b c par_colsep a b c d par_colsep a b c par_colsep a b c d par_colsep a b c par_colsep a b c d par_colsep a_b_c_ par_colsep a_b_c_d par_colsep ### Test of -C par_colsep a_b_c_ par_colsep a_b_c_d par_colsep ### Test of --trim n par_colsep a_b_' c '_ par_colsep a_' b '_c_d par_colsep a_b_c_ par_colsep a_b_c_d par_colsep ### Test of bug: If input is empty string par_colsep echo '' par_colsep par_colsep echo ac par_colsep ac par_colsep echo ac par_colsep ac par_compress_fail ### bug #41609: --compress fails par_compress_fail f1a751b1283e99e7dda40f63f1225f74 - par_compress_fail f1a751b1283e99e7dda40f63f1225f74 - par_compress_prg_fails ### bug #44546: If --compress-program fails: fail par_compress_prg_fails 1 par_compress_prg_fails parallel: Error: false failed. par_compress_prg_fails parallel: Error: false failed. par_compress_prg_fails --files 1 par_compress_prg_fails --files parallel: Error: false failed. par_compress_prg_fails --files parallel: Error: false failed. par_compress_prg_fails --tag 1 par_compress_prg_fails --tag parallel: Error: false failed. par_compress_prg_fails --tag parallel: Error: false failed. par_compress_prg_fails --tag --files 1 par_compress_prg_fails --tag --files parallel: Error: false failed. par_compress_prg_fails --tag --files parallel: Error: false failed. par_compress_prg_fails --line-buffer 1 par_compress_prg_fails --line-buffer parallel: Error: false failed. par_compress_prg_fails --line-buffer parallel: Error: false failed. par_compress_prg_fails --line-buffer --files 1 par_compress_prg_fails --line-buffer --files parallel: Error: false failed. par_compress_prg_fails --line-buffer --files parallel: Error: false failed. par_compress_prg_fails --line-buffer --tag 1 par_compress_prg_fails --line-buffer --tag parallel: Error: false failed. par_compress_prg_fails --line-buffer --tag parallel: Error: false failed. par_compress_prg_fails --line-buffer --tag --files 1 par_compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. par_compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 1.4m -u breaks par_dryrun_timeout_ungroup 1000 2000 8893 par_failing_compressor Compress with failing (de)compressor par_failing_compressor Test --tag/--line-buffer/--files in all combinations par_failing_compressor Test working/failing compressor/decompressor in all combinations par_failing_compressor (-k is used as a dummy argument) par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k --tag -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k --tag -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k -k -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel -k -k -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor /tmp/parallel-local-10s-tmpdir/tmpfile par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: C='cat;true',D='cat;true' par_failing_compressor C=cat;true,D=cat;true par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: C='cat;true',D='cat;false' par_failing_compressor C=cat;true,D=cat;false par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: C='cat;false',D='cat;true' par_failing_compressor C=cat;false,D=cat;true par_failing_compressor parallel: Error: cat;false failed. par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: C='cat;false',D='cat;false' par_failing_compressor C=cat;false,D=cat;false par_failing_compressor parallel: Error: cat;false failed. par_fifo_under_csh ### Test --fifo under csh par_fifo_under_csh 1048571 par_fifo_under_csh 1 par_fifo_under_csh 1048572 par_fifo_under_csh 1 par_fifo_under_csh 1048572 par_fifo_under_csh 1 par_fifo_under_csh 1048572 par_fifo_under_csh 1 par_fifo_under_csh 1048572 par_fifo_under_csh 1 par_fifo_under_csh 1048572 par_fifo_under_csh 1 par_fifo_under_csh 1048569 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 1048576 par_fifo_under_csh 1 par_fifo_under_csh 868832 par_fifo_under_csh 1 par_fifo_under_csh exit 22 par_jobs_file ### Test of -j filename - non-existent file par_jobs_file parallel: Error: Parsing of --jobs/-j/--max-procs/-P failed. par_jobs_file Usage: par_jobs_file par_jobs_file parallel [options] [command [arguments]] < list_of_arguments par_jobs_file parallel [options] [command [arguments]] (::: arguments|:::: argfile(s))... par_jobs_file cat ... | parallel --pipe [options] [command [arguments]] par_jobs_file par_jobs_file -j n Run n jobs in parallel par_jobs_file -k Keep same order par_jobs_file -X Multiple arguments with context replace par_jobs_file --colsep regexp Split input on regexp for positional replacements par_jobs_file {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings par_jobs_file {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings par_jobs_file With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} = par_jobs_file {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...} par_jobs_file par_jobs_file -S sshlogin Example: foo@server.example.com par_jobs_file --slf .. Use ~/.parallel/sshloginfile as the list of sshlogins par_jobs_file --trc {}.bar Shorthand for --transfer --return {}.bar --cleanup par_jobs_file --onall Run the given command with argument on all sshlogins par_jobs_file --nonall Run the given command with no arguments on all sshlogins par_jobs_file par_jobs_file --pipe Split stdin (standard input) to multiple jobs. par_jobs_file --recend str Record end separator for --pipe. par_jobs_file --recstart str Record start separator for --pipe. par_jobs_file par_jobs_file GNU Parallel can do much more. See 'man parallel' for details par_jobs_file par_jobs_file Academic tradition requires you to cite works you base your article on. par_jobs_file If you use programs that use GNU Parallel to process data for an article in a par_jobs_file scientific publication, please cite: par_jobs_file par_jobs_file par_jobs_file This helps funding further development; AND IT WON'T COST YOU A CENT. par_jobs_file If you pay 10000 EUR you should feel free to use GNU Parallel without citing. par_jobs_file par_jobs_file ### Test of -j filename par_jobs_file sleep 6 par_jobs_file sleep 8 par_jobs_file sleep 10 par_jobs_file sleep 5 par_jobs_file sleep 4 par_k ### Test -k par_k parallel: Warning: Only enough file handles to run X jobs in parallel. par_k parallel: Warning: Try running 'parallel -jX -N X --pipe parallel -jX' par_k parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`) par_k parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf par_k parallel: Warning: or increasing /proc/sys/fs/file-max par_k parallel: Warning: Try running 'parallel -jX -N XXX --pipe parallel -jX' par_k parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`) par_k parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf par_k parallel: Warning: or increasing /proc/sys/fs/file-max par_k begin par_k 1 par_k 2 par_k 3 par_k 4 par_k 5 par_k 6 par_k 7 par_k 8 par_k 9 par_k 10 par_k 11 par_k 12 par_k 13 par_k 14 par_k 15 par_k 16 par_k 17 par_k 18 par_k 19 par_k 20 par_k 21 par_k 22 par_k 23 par_k 24 par_k 25 par_k 26 par_k 27 par_k 28 par_k 29 par_k 30 par_k end par_k_linebuffer ### bug #47750: -k --line-buffer should give current job up to now par_k_linebuffer 10 1 par_k_linebuffer 10 2 par_k_linebuffer 10 3 par_k_linebuffer 10 4 par_k_linebuffer 10 5 par_k_linebuffer 10 6 par_k_linebuffer 10 7 par_k_linebuffer 10 8 par_k_linebuffer 10 9 par_k_linebuffer 10 10 par_k_linebuffer 11 1 par_k_linebuffer 11 2 par_k_linebuffer 11 3 par_k_linebuffer 11 4 par_k_linebuffer 11 5 par_k_linebuffer 11 6 par_k_linebuffer 11 7 par_k_linebuffer 11 8 par_k_linebuffer 11 9 par_k_linebuffer 11 10 par_k_linebuffer 11 11 par_k_linebuffer 12 1 par_k_linebuffer 12 2 par_k_linebuffer 12 3 par_k_linebuffer 12 4 par_k_linebuffer 12 5 par_k_linebuffer 12 6 par_k_linebuffer 12 7 par_k_linebuffer 12 8 par_k_linebuffer 12 9 par_k_linebuffer 12 10 par_k_linebuffer 12 11 par_k_linebuffer 12 12 par_k_linebuffer 13 1 par_k_linebuffer 13 2 par_k_linebuffer 13 3 par_k_linebuffer 13 4 par_k_linebuffer 13 5 par_k_linebuffer 13 6 par_k_linebuffer 13 7 par_k_linebuffer 13 8 par_k_linebuffer 13 9 par_k_linebuffer 13 10 par_k_linebuffer 13 11 par_k_linebuffer 13 12 par_k_linebuffer 13 13 par_k_linebuffer 14 1 par_k_linebuffer 14 2 par_k_linebuffer 14 3 par_k_linebuffer 14 4 par_k_linebuffer 14 5 par_k_linebuffer 14 6 par_k_linebuffer 14 7 par_k_linebuffer 14 8 par_k_linebuffer 14 9 par_k_linebuffer 14 10 par_k_linebuffer 14 11 par_k_linebuffer 14 12 par_k_linebuffer 14 13 par_k_linebuffer 14 14 par_k_linebuffer 15 1 par_k_linebuffer 15 2 par_k_linebuffer 15 3 par_k_linebuffer 15 4 par_k_linebuffer 15 5 par_k_linebuffer 15 6 par_k_linebuffer 15 7 par_k_linebuffer 15 8 par_k_linebuffer 15 9 par_k_linebuffer 15 10 par_k_linebuffer 15 11 par_k_linebuffer 15 12 par_k_linebuffer 15 13 par_k_linebuffer 15 14 par_k_linebuffer 15 15 par_k_linebuffer 16 1 par_k_linebuffer 16 2 par_k_linebuffer 16 3 par_k_linebuffer 16 4 par_k_linebuffer 16 5 par_k_linebuffer 16 6 par_k_linebuffer 16 7 par_k_linebuffer 16 8 par_k_linebuffer 16 9 par_k_linebuffer 16 10 par_k_linebuffer 16 11 par_k_linebuffer 16 12 par_k_linebuffer 16 13 par_k_linebuffer 16 14 par_k_linebuffer 16 15 par_k_linebuffer 16 16 par_k_linebuffer 17 1 par_k_linebuffer 17 2 par_k_linebuffer 17 3 par_k_linebuffer 17 4 par_k_linebuffer 17 5 par_k_linebuffer 17 6 par_k_linebuffer 17 7 par_k_linebuffer 17 8 par_k_linebuffer 17 9 par_k_linebuffer 17 10 par_k_linebuffer 17 11 par_k_linebuffer 17 12 par_k_linebuffer 17 13 par_k_linebuffer 17 14 par_k_linebuffer 17 15 par_k_linebuffer 17 16 par_k_linebuffer 17 17 par_k_linebuffer 18 1 par_k_linebuffer 18 2 par_k_linebuffer 18 3 par_k_linebuffer 18 4 par_k_linebuffer 18 5 par_k_linebuffer 18 6 par_k_linebuffer 18 7 par_k_linebuffer 18 8 par_k_linebuffer 18 9 par_k_linebuffer 18 10 par_k_linebuffer 18 11 par_k_linebuffer 18 12 par_k_linebuffer 18 13 par_k_linebuffer 18 14 par_k_linebuffer 18 15 par_k_linebuffer 18 16 par_k_linebuffer 18 17 par_k_linebuffer 18 18 par_k_linebuffer 19 1 par_k_linebuffer 19 2 par_k_linebuffer 19 3 par_k_linebuffer 19 4 par_k_linebuffer 19 5 par_k_linebuffer 19 6 par_k_linebuffer 19 7 par_k_linebuffer 19 8 par_k_linebuffer 19 9 par_k_linebuffer 19 10 par_k_linebuffer 19 11 par_k_linebuffer 19 12 par_k_linebuffer 19 13 par_k_linebuffer 19 14 par_k_linebuffer 19 15 par_k_linebuffer 19 16 par_k_linebuffer 19 17 par_k_linebuffer 19 18 par_k_linebuffer 19 19 par_k_linebuffer 20 1 par_k_linebuffer 20 2 par_k_linebuffer 20 3 par_k_linebuffer 20 4 par_k_linebuffer 20 5 par_k_linebuffer 20 6 par_k_linebuffer 20 7 par_k_linebuffer 20 8 par_k_linebuffer 20 9 par_k_linebuffer 20 10 par_k_linebuffer 20 11 par_k_linebuffer 20 12 par_k_linebuffer 20 13 par_k_linebuffer 20 14 par_k_linebuffer 20 15 par_k_linebuffer 20 16 par_k_linebuffer 20 17 par_k_linebuffer 20 18 par_k_linebuffer 20 19 par_k_linebuffer 20 20 par_k_linebuffer stdout top par_k_linebuffer stderr in the middle par_k_linebuffer stdout end par_kill_children_timeout ### Test killing children with --timeout and exit value (failed if timed out) par_kill_children_timeout 0 0 0 par_kill_children_timeout parallel: Warning: This job was killed because it timed out: par_kill_children_timeout parallel: Warning: doit 1000000000 par_kill_children_timeout parallel: Warning: This job was killed because it timed out: par_kill_children_timeout parallel: Warning: doit 1000000001 par_kill_children_timeout 2 par_kill_children_timeout 0 0 0 par_line_buffer ### --line-buffer par_line_buffer 55 55 120 par_line_buffer These must diff: 1 par_load_blocks ### Test if --load blocks. Bug. par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 - par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 - par_long_line_remote ### Deal with long command lines on remote servers par_long_line_remote 6 6 30006 par_long_line_remote 6 50 250050 par_maxlinelen_X_I ### Test max line length -X -I par_maxlinelen_X_I 42d5c115907de0044ef988a0639204cd - par_maxlinelen_X_I Chars per line (817788/13): 62906 par_maxlinelen_m_I ### Test max line length -m -I par_maxlinelen_m_I 2f0d9d11a071f5dbe6bd876a19499ff5 - par_maxlinelen_m_I Chars per line (697810/11): 63437 par_nice Check that --nice works par_nice load_10 par_nice bzip2 18 par_nice bzip2 18 par_opt_arg_eaten bug #31716: Options with optional arguments may eat next argument par_opt_arg_eaten ### Test https://savannah.gnu.org/bugs/index.php?31716 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -l -0 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -l par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -l 1 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -l 0 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -L -0 - -0 is argument for -L par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten ### -k -0 -L 0 - -L always takes arg par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten ### -k -0 -L 0 - -L always takes arg par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten OK par_opt_arg_eaten ### -k -e -0 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -e eof par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -i -0 par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_opt_arg_eaten ### -k -0 -i repl par_opt_arg_eaten 1 OK par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 OK par_opt_arg_eaten 5 OK par_parset ### test parset par_parset Put output into $myarray par_parset 10 par_parset 11 par_parset 12 par_parset 13 par_parset 14 par_parset 15 par_parset Put output into vars "$seq, $pwd, $ls" par_parset 1 par_parset 2 par_parset 3 par_parset 4 par_parset 5 par_parset 6 par_parset 7 par_parset 8 par_parset 9 par_parset 10 par_parset Put output into vars ($seq, $pwd, $ls): par_parset 1 par_parset 2 par_parset 3 par_parset 4 par_parset 5 par_parset The commands to run can be an array par_parset <> par_parset . par_parset You cannot pipe into parset, but must use a tempfile par_parset 1 par_parset 10 par_parset or process substitution par_parset 0 par_parset 9 par_parset Commands with newline require -0 par_parset line1 par_parset line2 par_parset2 ### parset into array par_parset2 foo bar baz par_parset2 ### parset into vars with comma par_parset2 foo bar baz par_parset2 ### parset into vars with space par_parset2 foo bar baz par_parset2 ### parset with newlines par_parset2 1 par_parset2 1 par_parset2 2 par_parset2 1 par_parset2 2 par_parset2 3 par_parset2 ### parset into indexed array vars par_parset2 foo bar baz par_parset2 foo bar bar par_parset2 ### env_parset par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 2 par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 2 par_parset2 3 par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar par_parset2 bug #52507: parset arr1 -v echo ::: fails par_parset2 seq 3 par_parset2 1 par_parset2 2 par_parset2 3 par_perlexpr_repl ### {= and =} in different groups separated by space par_perlexpr_repl b par_perlexpr_repl b par_perlexpr_repl bb par_perlexpr_repl bb par_perlexpr_repl b{= b par_perlexpr_repl b{=b par_perlexpr_repl b {=a par_perlexpr_repl {=a par_perlexpr_repl {= a par_perlexpr_repl {= a =} par_perlexpr_repl ### bug #45842: Do not evaluate {= =} twice par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 1 2 par_perlexpr_repl 3 4 par_perlexpr_repl 5 6 par_perlexpr_repl 7 8 par_perlexpr_repl 9 10 par_perlexpr_repl 11 12 par_perlexpr_repl 13 14 par_perlexpr_repl 15 16 par_perlexpr_repl 17 18 par_perlexpr_repl 19 20 par_perlexpr_repl 21 22 par_perlexpr_repl 23 24 par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 5 par_perlexpr_repl 6 par_perlexpr_repl 7 par_perlexpr_repl 8 par_perlexpr_repl 9 par_perlexpr_repl 10 par_perlexpr_repl 11 par_perlexpr_repl 12 par_perlexpr_repl ### bug #45939: {2} in {= =} fails par_perlexpr_repl OK par_perlexpr_repl OK-OK par_pipe_line_buffer ### --pipe --line-buffer par_pipe_line_buffer 200 400 1202 par_pipe_line_buffer These must diff: 1 par_pipe_line_buffer_compress ### --pipe --line-buffer --compress par_pipe_line_buffer_compress 200 400 1202 par_results_csv bug #: --results csv par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --compress 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --header : --tag ", par_results_csv --header : --tag 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --header : --tag ", par_results_csv --header : --tag 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --header : --tag ", par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --header : --tag ", par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --compress 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --header : --compress ", par_results_csv --header : --compress 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --header : --compress ", par_results_csv --header : --compress 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --header : --compress ", par_results_csv --header : --compress 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --header : --compress ", par_results_csv --header : Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --header : ", par_results_csv --header : 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --header : ", par_results_csv --header : 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --header : ", par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --header : ", par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --compress 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 H2 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 H2 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 H2 12 par_results_csv --tag --compress ", par_results_csv --tag --compress 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 22 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --tag --compress ", par_results_csv --tag --compress 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 23 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --tag --compress ", par_results_csv --tag Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 H2 H1 par_results_csv --tag ", par_results_csv --tag 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 H2 11 par_results_csv --tag ", par_results_csv --tag 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 H2 12 par_results_csv --tag ", par_results_csv --tag 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 22 H1 par_results_csv --tag ", par_results_csv --tag 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --tag ", par_results_csv --tag 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --tag ", par_results_csv --tag 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 23 H1 par_results_csv --tag ", par_results_csv --tag 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --tag ", par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --tag ", par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --compress 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 par_results_csv --compress ", par_results_csv --compress 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 par_results_csv --compress ", par_results_csv --compress 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 par_results_csv --compress ", par_results_csv --compress 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 par_results_csv --compress ", par_results_csv --compress 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --compress ", par_results_csv --compress 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --compress ", par_results_csv --compress 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 par_results_csv --compress ", par_results_csv --compress 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --compress ", par_results_csv --compress 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --compress ", par_results_csv Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 par_results_csv ", par_results_csv 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 par_results_csv ", par_results_csv 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 par_results_csv ", par_results_csv 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 par_results_csv ", par_results_csv 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv ", par_results_csv 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv ", par_results_csv 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 par_results_csv ", par_results_csv 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv ", par_results_csv 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv ", par_retries_all_fail bug #53748: -k --retries 10 + out of filehandles = blocking par_retries_all_fail 1 par_retries_all_fail 2 par_retries_all_fail 3 par_retries_all_fail 4 par_retries_all_fail 5 par_retries_all_fail 6 par_retries_all_fail 7 par_retries_all_fail 8 par_round_robin_blocks bug #49664: --round-robin does not complete par_round_robin_blocks 8 par_sem_2jobs ### Test semaphore 2 jobs running simultaneously par_sem_2jobs job1a 1 par_sem_2jobs job2a 2 par_sem_2jobs job1b 3 par_sem_2jobs job3a 4 par_sem_2jobs job2b 5 par_sem_2jobs job3b 6 par_sem_2jobs done par_semaphore ### Test if parallel invoked as sem will run parallel --semaphore par_semaphore job1a 1 par_semaphore job2a 2 par_semaphore job1b 3 par_semaphore job3a 4 par_semaphore job2b 5 par_semaphore job3b 6 par_semaphore done par_shellquote ### Test --shellquote in all shells par_shellquote ash ' par_shellquote ash par_shellquote ash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote bash ' par_shellquote bash par_shellquote bash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote csh \\\\\\\\ "\ par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote dash ' par_shellquote dash par_shellquote dash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote fish ' par_shellquote fish par_shellquote fish  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote fizsh ' par_shellquote fizsh par_shellquote fizsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote ksh2020 ' par_shellquote ksh2020 par_shellquote ksh2020  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote ksh93 ' par_shellquote ksh93 par_shellquote ksh93  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote lksh ' par_shellquote lksh par_shellquote lksh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote mksh ' par_shellquote mksh par_shellquote mksh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote posh ' par_shellquote posh par_shellquote posh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote rzsh ' par_shellquote rzsh par_shellquote rzsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote sash ' par_shellquote sash par_shellquote sash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote sh ' par_shellquote sh par_shellquote sh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote static-sh ' par_shellquote static-sh par_shellquote static-sh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote yash ' par_shellquote yash par_shellquote yash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote zsh ' par_shellquote zsh par_shellquote zsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote csh \\\\\\\\ "\ par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_sockets_cores_threads ### Test --number-of-sockets/cores/threads par_sockets_cores_threads 1 par_sockets_cores_threads 4 par_sockets_cores_threads 8 par_sockets_cores_threads 4 par_sockets_cores_threads ### Test --use-sockets-instead-of-threads par_sockets_cores_threads threads done par_sockets_cores_threads sockets done par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets par_test_diff_roundrobin_k ### test there is difference on -k par_test_diff_roundrobin_k OK par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this par_tmp_full parallel: Error: Output is incomplete. par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel. par_tmp_full parallel: Error: Is the disk full? par_tmp_full parallel: Error: Change $TMPDIR with --tmpdir or use --compress. par_tmux_fg bug #50107: --tmux --fg should also write how to access it par_tmux_fg See output with: tmux -S tmp attach par_tmux_fg open terminal failed: not a terminal par_xargs_compat xargs compatibility par_xargs_compat ### Test -L -l and --max-lines par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b c par_xargs_compat a_b c par_xargs_compat ### xargs -L1 echo par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b par_xargs_compat c par_xargs_compat Lines ending in space should continue on next line par_xargs_compat ### xargs -L1 echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat a_b c par_xargs_compat d par_xargs_compat a_b c par_xargs_compat d par_xargs_compat ### xargs -L2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs -l echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### xargs -l2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs -l1 echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### xargs --max-lines=2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs --max-lines echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### test too long args par_xargs_compat parallel: Error: Command line too long (1000005 >= 64031) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat xargs: argument line too long par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat xargs: argument line too long par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat ### Test -x par_xargs_compat -km par_xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345 par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat -kX par_xargs_compat parallel: Error: Command line too long (10 >= 10) at input 0: 12345 par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat -x par_xargs_compat xargs: argument line too long par_xargs_compat 1 2 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat -km -x par_xargs_compat 1 2 par_xargs_compat 12 par_xargs_compat 1234 par_xargs_compat 13 par_xargs_compat 14 par_xargs_compat 15 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat -kX -x par_xargs_compat 1 2 par_xargs_compat 12 par_xargs_compat 1234 par_xargs_compat 13 par_xargs_compat 14 par_xargs_compat 15 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10 par_xargs_compat -x par_xargs_compat 1 2 par_xargs_compat 12 par_xargs_compat 1234 par_xargs_compat 13 par_xargs_compat 14 par_xargs_compat 15 par_xargs_compat 3 4 par_xargs_compat 5 6 par_xargs_compat 7 8 par_xargs_compat 9 10