Splitting command line args with GNU parallel Splitting command line args with GNU parallel bash bash

Splitting command line args with GNU parallel


You are probably looking for --colsep.

generate_file_pairs | parallel --colsep ' ' ./prog {1} {2}  

Read man parallel for more. And watch the intro video if you have not already done so http://www.youtube.com/watch?v=OpaiGYxkSuQ


You are looking for -n option of parallel. This is what you are looking for:

./generate_file_pairs | parallel -n 2 ./prog {}

Excerpt from GNU Parallel Doc:

-n max-args    Use at most max-args arguments per command line. Fewer than max-args     arguments will be used if the size (see the -s option) is exceeded,     unless the -x option is given, in which case GNU parallel will exit.


In Parallel's manual, it is said:

If no command is given, the line of input is executed ... GNU parallel can often be used as a substitute for xargs or cat | bash.

So take a try of:

generate command | parallel

Try to understand the output of this:

for i in {1..5};do echo "echo $i";done | parallel