`xargs` reads items from a stream, delimited by some blank character (`delimiter`), and executes the `command` as many times as there are items, with any processed `initial-arguments`, possibly followed by a number of items read from the input.
If a `placeholder` is explicitly specified, the `max-lines` limit is set to 1, and each argument in `initial-arguments` is processed by replacing any occurrence of the `placeholder` with the input item, and treating the entire resulting value as _one_ argument.
It is to be noted that `command` is also subject to substitution in this mode.
If no argument in `command` or `initial-arguments` contains the `placeholder`, an argument is added at the end of the list containing only the `placeholder`.
If a `placeholder` is not explicitly specified, no substitution will be performed, rather, the item(s) will be appended to the end of the command line, until either of the following conditions are met:
- Adding another argument would overflow the system maximum command length (or the provided `max-chars` limit)
- The number of lines used per command (`max-lines`) would be exceeded
`xargs` will read the items from standard input by default, and when data is read from standard input, the standard input of `command` is redirected to read from `/dev/null`.
The standard input is left as-is if data is read from a file.
## Options
*`-I`, `--replace`: Set the `placeholder`, and force `max-lines` to 1
*`-0`, `--null`: Split the items by zero bytes (null characters) instead of `delimiter`
*`-d`, `--delimiter`: Set the `delimiter`, which is a newline (`\n`) by default
*`-v`, `--verbose`: Display each expanded command on standard error before executing it