par_10000_m_X ### Test -m with 10000 args par_10000_m_X 3 29994 186685 par_10000_m_X 268eed4478df6062b69e01f880b2ed65 - par_X_I_meta ### Test -X -I with shell meta chars par_X_I_meta 3 par_X_I_meta 3 par_X_I_meta 3 par_X_I_meta 3 par__10000_5_rpl_X ### Test -X with 10000 args and 5 replacement strings par__10000_5_rpl_X 5 par__10000_5_rpl_X 4 par__10000_5_rpl_X 4 par__10000_5_rpl_X 3 par__10000_5_rpl_X 2 par__I_X_m ### Test -I with -X and -m par__I_X_m 1 1 par__I_X_m 2 1 par__I_X_m 2 2 par__I_X_m 3 1 par__I_X_m 3 2 par__I_X_m 3 3 par__I_X_m 4 1 par__I_X_m 4 2 par__I_X_m 4 3 par__I_X_m 4 4 par__I_X_m 5 1 par__I_X_m 5 2 par__I_X_m 5 3 par__I_X_m 5 4 par__I_X_m 5 5 par__I_X_m 6 1 par__I_X_m 6 2 par__I_X_m 6 3 par__I_X_m 6 4 par__I_X_m 6 5 par__I_X_m 6 6 par__I_X_m 7 1 par__I_X_m 7 2 par__I_X_m 7 3 par__I_X_m 7 4 par__I_X_m 7 5 par__I_X_m 7 6 par__I_X_m 7 7 par__I_X_m 8 1 par__I_X_m 8 2 par__I_X_m 8 3 par__I_X_m 8 4 par__I_X_m 8 5 par__I_X_m 8 6 par__I_X_m 8 7 par__I_X_m 8 8 par__I_X_m 9 1 par__I_X_m 9 2 par__I_X_m 9 3 par__I_X_m 9 4 par__I_X_m 9 5 par__I_X_m 9 6 par__I_X_m 9 7 par__I_X_m 9 8 par__I_X_m 9 9 par__I_X_m 10 1 par__I_X_m 10 2 par__I_X_m 10 3 par__I_X_m 10 4 par__I_X_m 10 5 par__I_X_m 10 6 par__I_X_m 10 7 par__I_X_m 10 8 par__I_X_m 10 9 par__I_X_m 10 10 par__I_X_m a1 b1 par__I_X_m a2 b1 b2 par__I_X_m a3 b1 b2 b3 par__I_X_m a4 b1 b2 b3 b4 par__I_X_m a5 b1 b2 b3 b4 b5 par__I_X_m a6 b1 b2 b3 b4 b5 b6 par__I_X_m a7 b1 b2 b3 b4 b5 b6 b7 par__I_X_m a8 b1 b2 b3 b4 b5 b6 b7 b8 par__I_X_m a9 b1 b2 b3 b4 b5 b6 b7 b8 b9 par__I_X_m a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 par__I_X_m a1 b1 par__I_X_m a2 b1 2 par__I_X_m a3 b1 2 3 par__I_X_m a4 b1 2 3 4 par__I_X_m a5 b1 2 3 4 5 par__I_X_m a6 b1 2 3 4 5 6 par__I_X_m a7 b1 2 3 4 5 6 7 par__I_X_m a8 b1 2 3 4 5 6 7 8 par__I_X_m a9 b1 2 3 4 5 6 7 8 9 par__I_X_m a10 b1 2 3 4 5 6 7 8 9 10 par__argfile_plus -- -a file +file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus -- -a file +./file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./+file or ./++file par__argfile_plus -- -a file ./+file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./+file or ./++file par__argfile_plus -- -a file +file +./+file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus -- -a file +./file +./+file par__argfile_plus 1 1 4 par__argfile_plus 2 2 5 par__argfile_plus 3 3 6 par__argfile_plus -- -a file ./+file +./+file par__argfile_plus 1 4 4 par__argfile_plus 1 5 5 par__argfile_plus 1 6 6 par__argfile_plus 2 4 4 par__argfile_plus 2 5 5 par__argfile_plus 2 6 6 par__argfile_plus 3 4 4 par__argfile_plus 3 5 5 par__argfile_plus 3 6 6 par__argfile_plus -- -a file +file ./++file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus -- -a file +./file ./++file par__argfile_plus 1 1 7 par__argfile_plus 1 1 8 par__argfile_plus 1 1 9 par__argfile_plus 2 2 7 par__argfile_plus 2 2 8 par__argfile_plus 2 2 9 par__argfile_plus 3 3 7 par__argfile_plus 3 3 8 par__argfile_plus 3 3 9 par__argfile_plus -- -a file ./+file ./++file par__argfile_plus 1 4 7 par__argfile_plus 1 4 8 par__argfile_plus 1 4 9 par__argfile_plus 1 5 7 par__argfile_plus 1 5 8 par__argfile_plus 1 5 9 par__argfile_plus 1 6 7 par__argfile_plus 1 6 8 par__argfile_plus 1 6 9 par__argfile_plus 2 4 7 par__argfile_plus 2 4 8 par__argfile_plus 2 4 9 par__argfile_plus 2 5 7 par__argfile_plus 2 5 8 par__argfile_plus 2 5 9 par__argfile_plus 2 6 7 par__argfile_plus 2 6 8 par__argfile_plus 2 6 9 par__argfile_plus 3 4 7 par__argfile_plus 3 4 8 par__argfile_plus 3 4 9 par__argfile_plus 3 5 7 par__argfile_plus 3 5 8 par__argfile_plus 3 5 9 par__argfile_plus 3 6 7 par__argfile_plus 3 6 8 par__argfile_plus 3 6 9 par__argfile_plus :::: file +file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus :::: file +./file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./+file or ./++file par__argfile_plus :::: file ./+file ++file par__argfile_plus parallel: Error: It is unclear whether you mean +./+file or ./++file par__argfile_plus :::: file +file +./+file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus :::: file +./file +./+file par__argfile_plus 1 1 4 par__argfile_plus 2 2 5 par__argfile_plus 3 3 6 par__argfile_plus :::: file ./+file +./+file par__argfile_plus 1 4 4 par__argfile_plus 1 5 5 par__argfile_plus 1 6 6 par__argfile_plus 2 4 4 par__argfile_plus 2 5 5 par__argfile_plus 2 6 6 par__argfile_plus 3 4 4 par__argfile_plus 3 5 5 par__argfile_plus 3 6 6 par__argfile_plus :::: file +file ./++file par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file par__argfile_plus :::: file +./file ./++file par__argfile_plus 1 1 7 par__argfile_plus 1 1 8 par__argfile_plus 1 1 9 par__argfile_plus 2 2 7 par__argfile_plus 2 2 8 par__argfile_plus 2 2 9 par__argfile_plus 3 3 7 par__argfile_plus 3 3 8 par__argfile_plus 3 3 9 par__argfile_plus :::: file ./+file ./++file par__argfile_plus 1 4 7 par__argfile_plus 1 4 8 par__argfile_plus 1 4 9 par__argfile_plus 1 5 7 par__argfile_plus 1 5 8 par__argfile_plus 1 5 9 par__argfile_plus 1 6 7 par__argfile_plus 1 6 8 par__argfile_plus 1 6 9 par__argfile_plus 2 4 7 par__argfile_plus 2 4 8 par__argfile_plus 2 4 9 par__argfile_plus 2 5 7 par__argfile_plus 2 5 8 par__argfile_plus 2 5 9 par__argfile_plus 2 6 7 par__argfile_plus 2 6 8 par__argfile_plus 2 6 9 par__argfile_plus 3 4 7 par__argfile_plus 3 4 8 par__argfile_plus 3 4 9 par__argfile_plus 3 5 7 par__argfile_plus 3 5 8 par__argfile_plus 3 5 9 par__argfile_plus 3 6 7 par__argfile_plus 3 6 8 par__argfile_plus 3 6 9 par__argfile_plus -- -a ./file ./++file - par__argfile_plus 1 7 10 par__argfile_plus 1 7 11 par__argfile_plus 1 7 12 par__argfile_plus 1 8 10 par__argfile_plus 1 8 11 par__argfile_plus 1 8 12 par__argfile_plus 1 9 10 par__argfile_plus 1 9 11 par__argfile_plus 1 9 12 par__argfile_plus 2 7 10 par__argfile_plus 2 7 11 par__argfile_plus 2 7 12 par__argfile_plus 2 8 10 par__argfile_plus 2 8 11 par__argfile_plus 2 8 12 par__argfile_plus 2 9 10 par__argfile_plus 2 9 11 par__argfile_plus 2 9 12 par__argfile_plus 3 7 10 par__argfile_plus 3 7 11 par__argfile_plus 3 7 12 par__argfile_plus 3 8 10 par__argfile_plus 3 8 11 par__argfile_plus 3 8 12 par__argfile_plus 3 9 10 par__argfile_plus 3 9 11 par__argfile_plus 3 9 12 par__argfile_plus -- -a ./file +./+file +- par__argfile_plus 1 4 10 par__argfile_plus 2 5 11 par__argfile_plus 3 6 12 par__argfile_plus -- -a ./file +- ./+file par__argfile_plus 1 10 4 par__argfile_plus 1 10 5 par__argfile_plus 1 10 6 par__argfile_plus 2 11 4 par__argfile_plus 2 11 5 par__argfile_plus 2 11 6 par__argfile_plus 3 12 4 par__argfile_plus 3 12 5 par__argfile_plus 3 12 6 par__parset2 ### parset into array par__parset2 foo bar baz par__parset2 foo bar baz par__parset2 ### parset into vars with comma par__parset2 foo bar baz par__parset2 foo bar baz par__parset2 ### parset into vars with space par__parset2 foo bar baz par__parset2 foo bar baz par__parset2 ### parset with newlines par__parset2 1 1 2 1 2 3 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 baz par__parset2 foo bar bar 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 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 newline2 1 newline1 newline2 1 2 newline1 newline2 1 2 3 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 baz par__parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar 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__parset_assoc_arr bash@lo parset into an assoc array par__parset_assoc_arr bash@lo val 1 val 2 val 3 par__parset_assoc_arr bash@lo val 1 val 2 val 3 par__parset_assoc_arr bash@lo val 1 val 2 val 3 par__parset_assoc_arr bash@lo Bad var name par__parset_assoc_arr bash@lo parset: Error: -badname is an invalid variable name. par__parset_assoc_arr bash@lo parset: Error: Variable names must be letter followed by letters or digits. par__parset_assoc_arr bash@lo parset: Error: Usage: par__parset_assoc_arr bash@lo parset: Error: parset varname GNU Parallel options and command par__parset_assoc_arr bash@lo Too few var names par__parset_assoc_arr bash@lo parset: Error: Too few named destination variables par__parset_assoc_arr bash@lo val 2 par__parset_assoc_arr bash@lo Exit value par__parset_assoc_arr bash@lo 2 par__parset_assoc_arr bash@lo 2 par__parset_assoc_arr bash@lo 2 par__parset_assoc_arr bash@lo Stderr to stderr par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file1': No such file or directory par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file2': No such file or directory par__parset_assoc_arr ksh@lo parset into an assoc array par__parset_assoc_arr ksh@lo val 1 val 2 val 3 par__parset_assoc_arr ksh@lo val 1 val 2 val 3 par__parset_assoc_arr ksh@lo val 1 val 2 val 3 par__parset_assoc_arr ksh@lo Bad var name par__parset_assoc_arr ksh@lo parset: Error: -badname is an invalid variable name. par__parset_assoc_arr ksh@lo parset: Error: Variable names must be letter followed by letters or digits. par__parset_assoc_arr ksh@lo parset: Error: Usage: par__parset_assoc_arr ksh@lo parset: Error: parset varname GNU Parallel options and command par__parset_assoc_arr ksh@lo Too few var names par__parset_assoc_arr ksh@lo parset: Error: Too few named destination variables par__parset_assoc_arr ksh@lo val 2 par__parset_assoc_arr ksh@lo Exit value par__parset_assoc_arr ksh@lo 2 par__parset_assoc_arr ksh@lo 2 par__parset_assoc_arr ksh@lo 2 par__parset_assoc_arr ksh@lo Stderr to stderr par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file1': No such file or directory par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file2': No such file or directory par__parset_assoc_arr zsh@lo parset into an assoc array par__parset_assoc_arr zsh@lo val 1 val 2 val 3 par__parset_assoc_arr zsh@lo val 1 val 2 par__parset_assoc_arr zsh@lo val 1 val 2 val 3 par__parset_assoc_arr zsh@lo Bad var name par__parset_assoc_arr zsh@lo parset: Error: -badname is an invalid variable name. par__parset_assoc_arr zsh@lo parset: Error: Variable names must be letter followed by letters or digits. par__parset_assoc_arr zsh@lo parset: Error: Usage: par__parset_assoc_arr zsh@lo parset: Error: parset varname GNU Parallel options and command par__parset_assoc_arr zsh@lo Too few var names par__parset_assoc_arr zsh@lo parset: Error: Too few named destination variables par__parset_assoc_arr zsh@lo val 2 par__parset_assoc_arr zsh@lo Exit value par__parset_assoc_arr zsh@lo 2 par__parset_assoc_arr zsh@lo 2 par__parset_assoc_arr zsh@lo 2 par__parset_assoc_arr zsh@lo Stderr to stderr par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file': No such file or directory par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file1': No such file or directory par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file2': No such file or directory par__plus ### --plus par__plus (It is OK to start with extra / or end with extra .) par__plus a = /a = a. = /a. = a. = /a. = a. = /a. par__plus a.b = /a.b = a.b = /a.b = a.b. = /a.b. = a.b. = /a.b. par__plus a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c. = /a.b.c. par__plus a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d par__plus a/1 = a/1 = a/1. = a/1. = a/1. = a/1. = a/1. = a/1. par__plus a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. par__plus a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3. = a.b.c/1.2.3. par__plus a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 par__plus a. = /a. = a. = /a. = a.. = /a.. = a.. = /a.. par__plus a.b. = /a.b. = a.b. = /a.b. = a.b. = /a.b. = a.b.. = /a.b.. par__plus a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. par__plus a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. par__plus a/1. = a/1. = a/1. = a/1. = a/1.. = a/1.. = a/1.. = a/1.. par__plus a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.. = a.b/1.2.. par__plus a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. par__plus a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. par__plus a.. = /a.. = a.. = /a.. = a.. = /a.. = a... = /a... par__plus a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. par__plus a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. par__plus a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. par__plus a./1. = a./1. = a./1. = a./1. = a./1.. = a./1.. = a./1.. = a./1.. par__plus a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. par__plus a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. par__plus a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. par__plus ### Test {%...} {%%...} {#...} {##...} par__plus z.foo par__plus z.foo par__plus foo par__plus foo par__plus foo.z par__plus foo.z par__plus foo par__plus foo par__plus A B C par__plus A C B par__plus B A C par__plus B C A par__plus C A B par__plus C B A par__plus A+B+C par__plus A+C+B par__plus B+A+C par__plus B+C+A par__plus C+A+B par__plus C+B+A par__plus A B C par__plus A B D par__plus A C D par__plus B C D par__prefix_for_L_n_N_s Must give xxx000 args par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s 1000 par__prefix_for_L_n_N_s Must give xxx000 lines par__prefix_for_L_n_N_s 149000 par__prefix_for_L_n_N_s 149000 par__prefix_for_L_n_N_s 149000 par__prefix_for_L_n_N_s 149000 par__prefix_for_L_n_N_s 149000 par__prefix_for_L_n_N_s 165000 par__prefix_for_L_n_N_s 90000 par__prefix_for_L_n_N_s Must give max 1000 chars per line par__prefix_for_L_n_N_s 126 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 197 par__prefix_for_L_n_N_s 244 par__prefix_for_L_n_N_s 246 par__prefix_for_L_n_N_s 246 par__prefix_for_L_n_N_s 273 par__sql_colsep ### SQL should add Vn columns for --colsep par__sql_colsep /a/A/1/11/ par__sql_colsep /a/A/2/22/ par__sql_colsep /a/A/3/33/ par__sql_colsep /b/B/1/11/ par__sql_colsep /b/B/2/22/ par__sql_colsep /b/B/3/33/ par__sql_colsep /c/C/1/11/ par__sql_colsep /c/C/2/22/ par__sql_colsep /c/C/3/33/ par__sql_colsep /a/A/1/11/ par__sql_colsep /a/A/2/22/ par__sql_colsep /a/A/3/33/ par__sql_colsep /b/B/1/11/ par__sql_colsep /b/B/2/22/ par__sql_colsep /b/B/3/33/ par__sql_colsep /c/C/1/11/ par__sql_colsep /c/C/2/22/ par__sql_colsep /c/C/3/33/ par__sql_colsep a A 1 11 a A 2 22 a A 3 33 par__sql_colsep a A 4 44 a A 5 55 a A 6 66 par__sql_colsep b B 1 11 b B 2 22 b B 3 33 par__sql_colsep b B 4 44 b B 5 55 b B 6 66 par__sql_colsep c C 1 11 c C 2 22 c C 3 33 par__sql_colsep c C 4 44 c C 5 55 c C 6 66 par__sql_colsep a A 1 11 a A 2 22 a A 3 33 par__sql_colsep a A 4 44 a A 5 55 a A 6 66 par__sql_colsep b B 1 11 b B 2 22 b B 3 33 par__sql_colsep b B 4 44 b B 5 55 b B 6 66 par__sql_colsep c C 1 11 c C 2 22 c C 3 33 par__sql_colsep c C 4 44 c C 5 55 c C 6 66 par__test_XI_mI ### Test -I par__test_XI_mI 1 1 par__test_XI_mI 2 1 par__test_XI_mI 2 2 par__test_XI_mI 3 1 par__test_XI_mI 3 2 par__test_XI_mI 3 3 par__test_XI_mI 4 1 par__test_XI_mI 4 2 par__test_XI_mI 4 3 par__test_XI_mI 4 4 par__test_XI_mI 5 1 par__test_XI_mI 5 2 par__test_XI_mI 5 3 par__test_XI_mI 5 4 par__test_XI_mI 5 5 par__test_XI_mI 6 1 par__test_XI_mI 6 2 par__test_XI_mI 6 3 par__test_XI_mI 6 4 par__test_XI_mI 6 5 par__test_XI_mI 6 6 par__test_XI_mI 7 1 par__test_XI_mI 7 2 par__test_XI_mI 7 3 par__test_XI_mI 7 4 par__test_XI_mI 7 5 par__test_XI_mI 7 6 par__test_XI_mI 7 7 par__test_XI_mI 8 1 par__test_XI_mI 8 2 par__test_XI_mI 8 3 par__test_XI_mI 8 4 par__test_XI_mI 8 5 par__test_XI_mI 8 6 par__test_XI_mI 8 7 par__test_XI_mI 8 8 par__test_XI_mI 9 1 par__test_XI_mI 9 2 par__test_XI_mI 9 3 par__test_XI_mI 9 4 par__test_XI_mI 9 5 par__test_XI_mI 9 6 par__test_XI_mI 9 7 par__test_XI_mI 9 8 par__test_XI_mI 9 9 par__test_XI_mI 10 1 par__test_XI_mI 10 2 par__test_XI_mI 10 3 par__test_XI_mI 10 4 par__test_XI_mI 10 5 par__test_XI_mI 10 6 par__test_XI_mI 10 7 par__test_XI_mI 10 8 par__test_XI_mI 10 9 par__test_XI_mI 10 10 par__test_XI_mI ### Test -X -I par__test_XI_mI a1 b1 par__test_XI_mI a2 b1 b2 par__test_XI_mI a3 b1 b2 b3 par__test_XI_mI a4 b1 b2 b3 b4 par__test_XI_mI a5 b1 b2 b3 b4 b5 par__test_XI_mI a6 b1 b2 b3 b4 b5 b6 par__test_XI_mI a7 b1 b2 b3 b4 b5 b6 b7 par__test_XI_mI a8 b1 b2 b3 b4 b5 b6 b7 b8 par__test_XI_mI a9 b1 b2 b3 b4 b5 b6 b7 b8 b9 par__test_XI_mI a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 par__test_XI_mI ### Test -m -I par__test_XI_mI a1 b1 par__test_XI_mI a2 b1 2 par__test_XI_mI a3 b1 2 3 par__test_XI_mI a4 b1 2 3 4 par__test_XI_mI a5 b1 2 3 4 5 par__test_XI_mI a6 b1 2 3 4 5 6 par__test_XI_mI a7 b1 2 3 4 5 6 7 par__test_XI_mI a8 b1 2 3 4 5 6 7 8 par__test_XI_mI a9 b1 2 3 4 5 6 7 8 9 par__test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10 par__test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany par__test_cpu_detection_cpuinfo 2 8 8 8 par__test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core Opteron 6174 par__test_cpu_detection_cpuinfo 4 24 48 24 par__test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480 par__test_cpu_detection_cpuinfo 1 4 8 4 par__test_cpu_detection_cpuinfo 4-64-64-64 Dell R815 4 CPU 64-core par__test_cpu_detection_cpuinfo 4 32 64 32 par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Neo N36L Dual-Core Processor par__test_cpu_detection_cpuinfo 1 2 2 2 par__test_cpu_detection_cpuinfo 1-1-1-1 Intel Xeon X5675 (mandriva.p) par__test_cpu_detection_cpuinfo 1 1 1 1 par__test_cpu_detection_cpuinfo 1-1-1-1 Intel(R) Celeron(R) M (eee900) par__test_cpu_detection_cpuinfo 1 1 1 1 par__test_cpu_detection_cpuinfo 2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4) par__test_cpu_detection_cpuinfo 2 12 24 12 par__test_cpu_detection_cpuinfo 1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai) par__test_cpu_detection_cpuinfo 1 6 12 6 par__test_cpu_detection_cpuinfo 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organizer) par__test_cpu_detection_cpuinfo 1 4 8 4 par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop par__test_cpu_detection_cpuinfo 1 4 8 4 par__test_cpu_detection_cpuinfo 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong) par__test_cpu_detection_cpuinfo 1 12 24 12 par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall par__test_cpu_detection_cpuinfo 1 2 4 2 par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?) par__test_cpu_detection_cpuinfo 1 2 2 2 par__test_cpu_detection_cpuinfo 2-24-48-24 24-core (maxwell?) par__test_cpu_detection_cpuinfo 2 24 48 24 par__test_cpu_detection_cpuinfo 1-2-2-2 HP Laptop Compaq 6530b par__test_cpu_detection_cpuinfo 1 2 2 2 par__test_cpu_detection_cpuinfo 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) par__test_cpu_detection_cpuinfo 1 8 8 8 par__test_cpu_detection_cpuinfo 1-4-4-4 x96 quad-core Android TV-box par__test_cpu_detection_cpuinfo 1 4 4 4 par__test_cpu_detection_cpuinfo 1-6-6-6 Kramses 200 USD laptop 6-core par__test_cpu_detection_cpuinfo 1 6 6 6 par__test_cpu_detection_lscpu 2-8-8-8 Xeon 8 core server in Germany par__test_cpu_detection_lscpu 2 8 8 8 par__test_cpu_detection_lscpu 4-64-64-64 Dell R815 4 CPU 64-core par__test_cpu_detection_lscpu 4 32 64 32 par__test_cpu_detection_lscpu 1-2-2-2 AMD Neo N36L Dual-Core Processor par__test_cpu_detection_lscpu 1 2 2 2 par__test_cpu_detection_lscpu 1-1-1-1 Intel Xeon X5675 (mandriva.p) par__test_cpu_detection_lscpu 1 1 1 1 par__test_cpu_detection_lscpu 1-1-1-1 Intel(R) Celeron(R) M (eee900) par__test_cpu_detection_lscpu 1 1 1 1 par__test_cpu_detection_lscpu 2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4) par__test_cpu_detection_lscpu 2 12 24 12 par__test_cpu_detection_lscpu 1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai) par__test_cpu_detection_lscpu 1 6 12 6 par__test_cpu_detection_lscpu 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organizer) par__test_cpu_detection_lscpu 1 4 8 4 par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop par__test_cpu_detection_lscpu 1 4 8 4 par__test_cpu_detection_lscpu 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong) par__test_cpu_detection_lscpu 1 12 24 12 par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall par__test_cpu_detection_lscpu 1 2 4 2 par__test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) par__test_cpu_detection_lscpu 2 8 8 8 par__test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box par__test_cpu_detection_lscpu 1 1 1 1 par__test_cpu_detection_topology 4-64-64-64 Dell R815 4 CPU 64-core par__test_cpu_detection_topology 4 8 8 8 par__test_cpu_detection_topology 1-2-2-2 AMD Neo N36L Dual-Core Processor par__test_cpu_detection_topology 1 2 2 2 par__test_cpu_detection_topology 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organizer) par__test_cpu_detection_topology 1 4 8 4 par__test_cpu_detection_topology 1-2-4-2 ThinkPad A475 AMD PRO A12-8830B R7 (64g) par__test_cpu_detection_topology 1 2 4 2 par__test_cpu_detection_topology 1-16-24-16 8*2 thr + 8*1 thr Intel Core i7-13700HX (user submit - detected wrong) par__test_cpu_detection_topology 1 4 8 4 par_children_receive_sig ### Do children receive --termseq signals par_children_receive_sig parallel: Warning: This job was killed because it timed out: par_children_receive_sig parallel: Warning: show_signals '' par_children_receive_sig Got TERM par_children_receive_sig Got TERM par_children_receive_sig Got TERM par_children_receive_sig parallel: Warning: This job was killed because it timed out: par_children_receive_sig parallel: Warning: show_signals '' par_children_receive_sig Got INT par_children_receive_sig Got TERM par_combineexec ### Check that "--pipe -k" works par_combineexec 165668 165668 1048571 par_combineexec 149796 149796 1048572 par_combineexec 149796 149796 1048572 par_combineexec 149796 149796 1048572 par_combineexec 149796 149796 1048572 par_combineexec 149796 149796 1048572 par_combineexec 5352 5352 37464 par_combineexec ### Check that "-k" is kept par_combineexec 1 par_combineexec 2 par_combineexec 3 par_combineexec ### Check that "--tagstring {1}" is kept par_combineexec print("1\n") 1 par_combineexec print("2\n") 2 par_combineexec print("3\n") 3 par_delay ### Test --delay par_delay More than 3.3 secs: OK par_delay_halt_soon bug #59893: --halt soon doesn't work with --delay par_delay_halt_soon 0 par_delay_halt_soon 1 par_delay_halt_soon parallel: This job failed: par_delay_halt_soon sleep 0.1;echo 1;exit 1 par_delay_human_readable a par_delay_human_readable b par_delay_human_readable c par_delay_human_readable a par_delay_human_readable b par_delay_human_readable c par_distribute_args_at_EOF ### Test distribute arguments at EOF to 2 jobslots par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 66 67 68 69 70 71 72 73 74 75 76 77 78 79 par_distribute_args_at_EOF 80 81 82 83 84 85 86 87 88 89 90 91 92 par_distribute_args_at_EOF ### Test distribute arguments at EOF to 5 jobslots par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 66 67 68 69 70 71 par_distribute_args_at_EOF 72 73 74 75 76 77 par_distribute_args_at_EOF 78 79 80 81 82 83 par_distribute_args_at_EOF 84 85 86 87 88 89 par_distribute_args_at_EOF 90 91 92 par_distribute_args_at_EOF ### Test distribute arguments at EOF to infinity jobslots par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 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 par_distribute_args_at_EOF 66 par_distribute_args_at_EOF 67 par_distribute_args_at_EOF 68 par_distribute_args_at_EOF 69 par_distribute_args_at_EOF 70 par_distribute_args_at_EOF 71 par_distribute_args_at_EOF 72 par_distribute_args_at_EOF 73 par_distribute_args_at_EOF 74 par_distribute_args_at_EOF 75 par_distribute_args_at_EOF 76 par_distribute_args_at_EOF 77 par_distribute_args_at_EOF 78 par_distribute_args_at_EOF 79 par_distribute_args_at_EOF 80 par_distribute_args_at_EOF 81 par_distribute_args_at_EOF 82 par_distribute_args_at_EOF 83 par_distribute_args_at_EOF 84 par_distribute_args_at_EOF 85 par_distribute_args_at_EOF 86 par_distribute_args_at_EOF 87 par_distribute_args_at_EOF 88 par_distribute_args_at_EOF 89 par_distribute_args_at_EOF 90 par_distribute_args_at_EOF 91 par_distribute_args_at_EOF 92 par_distribute_args_at_EOF ### Test -N is not broken by distribution - single line par_distribute_args_at_EOF 1 2 3 4 5 6 7 8 9 par_distribute_args_at_EOF ### Test -N is not broken by distribution - two lines par_distribute_args_at_EOF 1 2 3 4 5 6 7 8 9 10 par_distribute_args_at_EOF 11 12 13 14 15 16 17 18 19 par_eta ### Test of --eta par_eta 16 par_eta ### Test of --eta with no jobs par_eta par_eta Computers / CPU threads / Max jobs to run par_eta 1:local / 9 / 9 par_eta par_eta Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete par_eta par_eta ETA: 0s Left: 0 AVG: 0.00s local:0/0/0%/0.0s  par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent par_exitval_signal exitval=128+6 OK par_exitval_signal signal OK par_format_string Format string + {} par_format_string 12.346 98.765 == 12.346 98.765 par_format_string Format string + {.} par_format_string 12.000 98.000 == 12.000 98.000 par_format_string Format string + {2} par_format_string 98.765 == 98.765 par_format_string Format string + {2.} par_format_string 98.000 == 98.000 par_format_string Format string + {2.}{} par_format_string 98.00012.34567 98.76543 == 98.00012.34567 98.76543 par_format_string Dynamic replacement strings par_format_string {dyn} + format par_format_string 12.44 98.77 == 12.44 98.77 par_format_string {Positional dyn} + format par_format_string 12.44 98.77 98.765 == 12.44 98.77 98.765 par_format_string {dyn__postfix} par_format_string 12.444567 98.765444 == 12.444567 98.765444 par_format_string {dyn__postfix} + format par_format_string 00012.44 == 00012.44 par_format_string dyn without {} par_format_string 12.444567 98.765444 == 12.444567 98.765444 par_jobslot_repl bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl bug #46231: {%} with --pipepart broken. Should give 1+2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_jobslot_repl 2 par_jobslot_repl 1 par_kill_int_twice ### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end par_kill_int_twice bash-+-perl---bash---sleep par_kill_int_twice `-pstree par_kill_int_twice bash---pstree par_kill_term ### Are children killed if GNU Parallel receives TERM? There should be no sleep at the end par_kill_term bash-+-perl---bash---sleep par_kill_term `-pstree par_kill_term bash---pstree par_lb_mem_usage 1 par_lb_mem_usage 1 par_lb_mem_usage 2 par_maxargs ### Test -n and --max-args: Max number of args per line (only with -X and -m) par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 line 1 par_maxargs line 2 par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 line 1 par_maxargs line 2 par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 line 1 par_maxargs line 2 par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 line 1 par_maxargs line 2 par_maxargs line 1 line 1 par_maxargs line 2 par_maxargs line 1 par_maxargs line 2 par_maxargs line 3 par_maxargs line 1 line 1 par_maxargs line 2 par_multiline_commands bug #50781: joblog format with multiline commands par_multiline_commands 1 par_multiline_commands finish 1 par_multiline_commands 2 par_multiline_commands finish 2 par_multiline_commands parallel: Warning: This job was killed because it timed out: par_multiline_commands parallel: Warning: sleep 4; echo 4; par_multiline_commands echo finish 4 par_multiline_commands parallel: Warning: Command lines contain newline. Forcing --null. par_multiline_commands 4 par_multiline_commands finish 4 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 /TMP 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_pipe_regexp ### --pipe --regexp par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp ### Prepend first record with garbage par_pipe_regexp Record par_pipe_regexp Garbage par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp Record par_pipe_regexp Garbage par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp Record par_pipe_regexp Garbage par_pipe_regexp Record par_pipe_regexp A2, Start, 5 par_pipe_regexp A2, 00100, 5 par_pipe_regexp A2, 00200, 6 par_pipe_regexp A2, 00300, 6 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00100, 7 par_pipe_regexp Record par_pipe_regexp A2, Start, 7 par_pipe_regexp A2, 00200, 8 par_pipe_regexp_non_quoted ### --pipe --regexp non_quoted \n par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End:::Single record par_pipe_regexp_non_quoted par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End:::Single record par_pipe_regexp_non_quoted par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted foo par_pipe_regexp_non_quoted End par_pipe_regexp_non_quoted :::Single record par_pipe_regexp_non_quoted Start par_pipe_regexp_non_quoted Start this line is a false Start line par_pipe_regexp_non_quoted End this line is a false End line par_pipe_regexp_non_quoted End par_plus_slot_replacement ### show {slot} {0%} {0#} par_plus_slot_replacement 1=1=1 par_plus_slot_replacement 2=2=2 par_plus_slot_replacement 3=3=3 par_plus_slot_replacement Seq: 001 1 0*2=0 par_plus_slot_replacement Seq: 002 2 1*2=2 par_plus_slot_replacement Seq: 003 3 2*2=4 par_plus_slot_replacement Seq: 004 4 3*2=6 par_plus_slot_replacement Seq: 005 5 4*2=8 par_plus_slot_replacement Seq: 006 6 5*2=10 par_plus_slot_replacement Seq: 007 7 6*2=12 par_plus_slot_replacement Seq: 008 8 7*2=14 par_plus_slot_replacement Seq: 009 9 8*2=16 par_plus_slot_replacement Seq: 010 10 9*2=18 par_plus_slot_replacement Seq: 011 11 10*2=20 par_plus_slot_replacement Seq: 012 12 11*2=22 par_plus_slot_replacement Seq: 013 13 12*2=24 par_plus_slot_replacement Seq: 014 14 13*2=26 par_plus_slot_replacement Seq: 015 15 14*2=28 par_plus_slot_replacement Seq: 016 16 15*2=30 par_plus_slot_replacement Seq: 017 17 16*2=32 par_plus_slot_replacement Seq: 018 18 17*2=34 par_plus_slot_replacement Seq: 019 19 18*2=36 par_plus_slot_replacement Seq: 020 20 19*2=38 par_plus_slot_replacement Seq: 021 21 20*2=40 par_plus_slot_replacement Seq: 022 22 21*2=42 par_plus_slot_replacement Seq: 023 23 22*2=44 par_plus_slot_replacement Seq: 024 24 23*2=46 par_plus_slot_replacement Seq: 025 25 24*2=48 par_plus_slot_replacement Seq: 026 26 25*2=50 par_plus_slot_replacement Seq: 027 27 26*2=52 par_plus_slot_replacement Seq: 028 28 27*2=54 par_plus_slot_replacement Seq: 029 29 28*2=56 par_plus_slot_replacement Seq: 030 30 29*2=58 par_plus_slot_replacement Seq: 031 31 30*2=60 par_plus_slot_replacement Seq: 032 32 31*2=62 par_plus_slot_replacement Seq: 033 33 32*2=64 par_plus_slot_replacement Seq: 034 34 33*2=66 par_plus_slot_replacement Seq: 035 35 34*2=68 par_plus_slot_replacement Seq: 036 36 35*2=70 par_plus_slot_replacement Seq: 037 37 36*2=72 par_plus_slot_replacement Seq: 038 38 37*2=74 par_plus_slot_replacement Seq: 039 39 38*2=76 par_plus_slot_replacement Seq: 040 40 39*2=78 par_plus_slot_replacement Seq: 041 41 40*2=80 par_plus_slot_replacement Seq: 042 42 41*2=82 par_plus_slot_replacement Seq: 043 43 42*2=84 par_plus_slot_replacement Seq: 044 44 43*2=86 par_plus_slot_replacement Seq: 045 45 44*2=88 par_plus_slot_replacement Seq: 046 46 45*2=90 par_plus_slot_replacement Seq: 047 47 46*2=92 par_plus_slot_replacement Seq: 048 48 47*2=94 par_plus_slot_replacement Seq: 049 49 48*2=96 par_plus_slot_replacement Seq: 050 50 49*2=98 par_plus_slot_replacement Seq: 051 51 50*2=100 par_plus_slot_replacement Seq: 052 52 51*2=102 par_plus_slot_replacement Seq: 053 53 52*2=104 par_plus_slot_replacement Seq: 054 54 53*2=106 par_plus_slot_replacement Seq: 055 55 54*2=108 par_plus_slot_replacement Seq: 056 56 55*2=110 par_plus_slot_replacement Seq: 057 57 56*2=112 par_plus_slot_replacement Seq: 058 58 57*2=114 par_plus_slot_replacement Seq: 059 59 58*2=116 par_plus_slot_replacement Seq: 060 60 59*2=118 par_plus_slot_replacement Seq: 061 61 60*2=120 par_plus_slot_replacement Seq: 062 62 61*2=122 par_plus_slot_replacement Seq: 063 63 62*2=124 par_plus_slot_replacement Seq: 064 64 63*2=126 par_plus_slot_replacement Seq: 065 65 64*2=128 par_plus_slot_replacement Seq: 066 66 65*2=130 par_plus_slot_replacement Seq: 067 67 66*2=132 par_plus_slot_replacement Seq: 068 68 67*2=134 par_plus_slot_replacement Seq: 069 69 68*2=136 par_plus_slot_replacement Seq: 070 70 69*2=138 par_plus_slot_replacement Seq: 071 71 70*2=140 par_plus_slot_replacement Seq: 072 72 71*2=142 par_plus_slot_replacement Seq: 073 73 72*2=144 par_plus_slot_replacement Seq: 074 74 73*2=146 par_plus_slot_replacement Seq: 075 75 74*2=148 par_plus_slot_replacement Seq: 076 76 75*2=150 par_plus_slot_replacement Seq: 077 77 76*2=152 par_plus_slot_replacement Seq: 078 78 77*2=154 par_plus_slot_replacement Seq: 079 79 78*2=156 par_plus_slot_replacement Seq: 080 80 79*2=158 par_plus_slot_replacement Seq: 081 81 80*2=160 par_plus_slot_replacement Seq: 082 82 81*2=162 par_plus_slot_replacement Seq: 083 83 82*2=164 par_plus_slot_replacement Seq: 084 84 83*2=166 par_plus_slot_replacement Seq: 085 85 84*2=168 par_plus_slot_replacement Seq: 086 86 85*2=170 par_plus_slot_replacement Seq: 087 87 86*2=172 par_plus_slot_replacement Seq: 088 88 87*2=174 par_plus_slot_replacement Seq: 089 89 88*2=176 par_plus_slot_replacement Seq: 090 90 89*2=178 par_plus_slot_replacement Seq: 091 91 90*2=180 par_plus_slot_replacement Seq: 092 92 91*2=182 par_plus_slot_replacement Seq: 093 93 92*2=184 par_plus_slot_replacement Seq: 094 94 93*2=186 par_plus_slot_replacement Seq: 095 95 94*2=188 par_plus_slot_replacement Seq: 096 96 95*2=190 par_plus_slot_replacement Seq: 097 97 96*2=192 par_plus_slot_replacement Seq: 098 98 97*2=194 par_plus_slot_replacement Seq: 099 99 98*2=196 par_plus_slot_replacement Seq: 100 100 99*2=198 par_plus_slot_replacement Slot: 01 1=0+1 par_plus_slot_replacement Slot: 02 2=1+1 par_plus_slot_replacement Slot: 03 3=2+1 par_plus_slot_replacement Slot: 04 4=3+1 par_plus_slot_replacement Slot: 05 5=4+1 par_plus_slot_replacement Slot: 06 6=5+1 par_plus_slot_replacement Slot: 07 7=6+1 par_plus_slot_replacement Slot: 08 8=7+1 par_plus_slot_replacement Slot: 09 9=8+1 par_plus_slot_replacement Slot: 10 10=9+1 par_plus_slot_replacement Slot: 11 11=10+1 par_plus_slot_replacement Slot: 12 12=11+1 par_plus_slot_replacement Slot: 13 13=12+1 par_plus_slot_replacement Slot: 14 14=13+1 par_plus_slot_replacement Slot: 15 15=14+1 par_process_slot_var ### bug #62310: xargs compatibility: --process-slot-var=name par_process_slot_var 0 par_process_slot_var 1 par_process_slot_var 2 par_process_slot_var 3 par_process_slot_var 0 par_process_slot_var 0 par_process_slot_var 1 par_process_slot_var 2 par_process_slot_var 3 par_process_slot_var 0 par_process_slot_var 0 par_process_slot_var 1 par_process_slot_var 2 par_process_slot_var 3 par_process_slot_var 0 par_progress ### Test of --progress par_progress 16 par_progress ### Test of --progress with no jobs par_progress par_progress Computers / CPU threads / Max jobs to run par_progress 1:local / 9 / 9 par_progress par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete par_progress par_progress local:0/0/0%/0.0s  par_pty xargs Expect: 3 1 par_pty 3 par_pty 1 par_pty parallel Expect: 3 1 via psedotty 2 par_pty via pseudotty par_pty par_pty via pseudotty par_pty par_pty 1 par_pty par_pty xargs Expect: 1 3 par_pty 1 par_pty 3 par_pty parallel Expect: 1 3 2 via pseudotty par_pty via pseudotty par_pty par_pty 1 par_pty par_pty via pseudotty par_pty par_replacement_slashslash ### Test {//} par_replacement_slashslash . a par_replacement_slashslash a a/b par_replacement_slashslash a/b a/b/c par_replacement_slashslash / /a par_replacement_slashslash /a /a/b par_replacement_slashslash /a/b /a/b/c par_replacement_slashslash . ./a par_replacement_slashslash ./a ./a/b par_replacement_slashslash ./a/b ./a/b/c par_replacement_slashslash . a.jpg par_replacement_slashslash a a/b.jpg par_replacement_slashslash a/b a/b/c.jpg par_replacement_slashslash / /a.jpg par_replacement_slashslash /a /a/b.jpg par_replacement_slashslash /a/b /a/b/c.jpg par_replacement_slashslash . ./a.jpg par_replacement_slashslash ./a ./a/b.jpg par_replacement_slashslash ./a/b ./a/b/c.jpg par_replacement_slashslash ### Test {1//} par_replacement_slashslash . a par_replacement_slashslash a a/b par_replacement_slashslash a/b a/b/c par_replacement_slashslash / /a par_replacement_slashslash /a /a/b par_replacement_slashslash /a/b /a/b/c par_replacement_slashslash . ./a par_replacement_slashslash ./a ./a/b par_replacement_slashslash ./a/b ./a/b/c par_replacement_slashslash . a.jpg par_replacement_slashslash a a/b.jpg par_replacement_slashslash a/b a/b/c.jpg par_replacement_slashslash / /a.jpg par_replacement_slashslash /a /a/b.jpg par_replacement_slashslash /a/b /a/b/c.jpg par_replacement_slashslash . ./a.jpg par_replacement_slashslash ./a ./a/b.jpg par_replacement_slashslash ./a/b ./a/b/c.jpg par_shebang ### Test different shebangs par_shebang gp A par_shebang gp B par_shebang gp C par_shebang oct A par_shebang oct B par_shebang oct C par_shebang pl A par_shebang pl B par_shebang pl C par_shebang py A par_shebang py B par_shebang py C par_shebang rb ["A"] par_shebang rb ["B"] par_shebang rb ["C"] par_shebang sh A par_shebang sh B par_shebang sh C par_shebang r [1] "A" par_shebang r [1] "B" par_shebang r [1] "C" par_show_limits ### Test --show-limits par_show_limits Maximal size of command: 130xxx par_show_limits Maximal usable size of command: 63xxx par_show_limits par_show_limits Execution will continue now, and it will try to read its input par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits press CTRL-D or CTRL-C par_show_limits bar par_show_limits car par_show_limits far par_show_limits Maximal size of command: 130xxx par_show_limits Maximal usable size of command: 100 par_show_limits par_show_limits Execution will continue now, and it will try to read its input par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits press CTRL-D or CTRL-C par_show_limits bar car far par_show_limits ### BUG: empty lines with --show-limit par_show_limits Maximal size of command: 130xxx par_show_limits Maximal usable size of command: 63xxx par_show_limits par_show_limits Execution will continue now, and it will try to read its input par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits press CTRL-D or CTRL-C par_slow_args_generation ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834 par_slow_args_generation 1 par_slow_args_generation 2 par_slow_args_generation 3 par_sqlworker_hostname bug #50901: --sqlworker should use hostname in the joblog instead of : par_sqlworker_hostname 1 par_sqlworker_hostname 2 par_sqlworker_hostname 3 par_sqlworker_hostname host par_sqlworker_hostname par_sqlworker_hostname par_sqlworker_hostname par_sshdelay ### test --sshdelay par_sshdelay OK par_tee_with_premature_close --tee --pipe should send all data to all commands par_tee_with_premature_close even if a command closes stdin before reading everything par_tee_with_premature_close tee with --output-error=warn-nopipe support par_tee_with_premature_close 1000000 1000000 6888896 par_tee_with_premature_close 1 par_tee_with_premature_close 2 par_tee_with_premature_close 3 par_tee_with_premature_close 4 par_tee_with_premature_close 5 par_tee_with_premature_close 6 par_tee_with_premature_close 7 par_tee_with_premature_close 8 par_tee_with_premature_close 9 par_tee_with_premature_close 10 par_tee_with_premature_close 999991 par_tee_with_premature_close 999992 par_tee_with_premature_close 999993 par_tee_with_premature_close 999994 par_tee_with_premature_close 999995 par_tee_with_premature_close 999996 par_tee_with_premature_close 999997 par_tee_with_premature_close 999998 par_tee_with_premature_close 999999 par_tee_with_premature_close 1000000 par_tee_with_premature_close tee without --output-error=warn-nopipe support par_tee_with_premature_close OK par_test_X_with_multiple_source ### Test {} multiple times in different commands par_test_X_with_multiple_source echo 1 2 3 4 5 6 7 8 9 10 ; echo 1 2 3 4 5 6 7 8 9 10 par_test_X_with_multiple_source 1 2 3 4 5 6 7 8 9 10 par_test_X_with_multiple_source 1 2 3 4 5 6 7 8 9 10 par_test_X_with_multiple_source ### Test of -X {1}-{2} with multiple input sources par_test_X_with_multiple_source a-b par_test_X_with_multiple_source a-c par_test_X_with_multiple_source b-c par_test_X_with_multiple_source a-d par_test_X_with_multiple_source b-f par_test_X_with_multiple_source a-d par_test_X_with_multiple_source a-e par_test_X_with_multiple_source a-f par_test_X_with_multiple_source b-d par_test_X_with_multiple_source b-e par_test_X_with_multiple_source b-f par_test_X_with_multiple_source c-d par_test_X_with_multiple_source c-e par_test_X_with_multiple_source c-f par_test_X_with_multiple_source ### Test of -X {}-{.} with multiple input sources par_test_X_with_multiple_source a-a b-b par_test_X_with_multiple_source a-a c-c a-a d-d par_test_X_with_multiple_source b-b c-c b-b d-d par_test_X_with_multiple_source a-a d-d a-a e-e a-a f-f b-b d-d b-b e-e par_test_X_with_multiple_source b-b f-f c-c d-d c-c e-e c-c f-f par_test_X_with_multiple_source a-a d-d par_test_X_with_multiple_source a-a e-e par_test_X_with_multiple_source a-a f-f par_test_X_with_multiple_source b-b d-d par_test_X_with_multiple_source b-b e-e par_test_X_with_multiple_source b-b f-f par_test_X_with_multiple_source c-c d-d par_test_X_with_multiple_source c-c e-e par_test_X_with_multiple_source c-c f-f par_test_delimiter ### Test : as delimiter. This can be confusing for uptime ie. --load par_test_delimiter a par_test_delimiter b par_test_delimiter c par_wrong_slot_rpl_resume ### bug #47644: Wrong slot number replacement when resuming par_wrong_slot_rpl_resume 1 0 par_wrong_slot_rpl_resume 2 1 par_wrong_slot_rpl_resume 3 2 par_wrong_slot_rpl_resume 4 3 par_wrong_slot_rpl_resume 1 4 par_wrong_slot_rpl_resume 2 5 par_wrong_slot_rpl_resume 3 6 par_wrong_slot_rpl_resume 1 7 par_wrong_slot_rpl_resume 2 8 par_wrong_slot_rpl_resume 3 9 par_wrong_slot_rpl_resume 4 10 par_wrong_slot_rpl_resume 1 11 par_wrong_slot_rpl_resume 2 12 par_wrong_slot_rpl_resume 3 13 par_wrong_slot_rpl_resume 4 14 par_wrong_slot_rpl_resume 1 15 par_wrong_slot_rpl_resume 2 16 par_wrong_slot_rpl_resume 3 17 par_wrong_slot_rpl_resume 4 18 par_wrong_slot_rpl_resume 1 19 par_wrong_slot_rpl_resume 2 20