Introduction

Jobs in GNU Linux can be parallelized using GNU parallel. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe.

Syntax

  1. parallel [options] [command [arguments]] < list_of_arguments >

Parameters

Option | Description | —— | —— |-j n | Run n jobs in parallel |-k | Keep same order |-X | Multiple arguments with context replace |--colsep regexp | Split input on regexp for positional replacements |{} {.} {/} {/.} {#} | Replacement strings |{3} {3.} {3/} {3/.} | Positional replacement strings |-S sshlogin | Example: [email protected] {}.bar | Shorthand for –transfer –return {}.bar –cleanup |--onall | Run the given command with argument on all sshlogins |--nonall | Run the given command with no arguments on all sshlogins |--pipe | Split stdin (standard input) to multiple jobs. |--recend str | Record end separator for –pipe. |--recstart str | Record start separator for –pipe. |