3.3.2.3 Limiting Command Size
xargs
gives you control over how many arguments it passes to the
command each time it executes it. By default, it uses up to
ARG_MAX
- 2k, or 128k, whichever is smaller, characters per
command. It uses as many lines and arguments as fit within that limit.
The following options modify those values.
--no-run-if-empty
-r
- If the standard input does not contain any nonblanks, do not run the
command. By default, the command is run once even if there is no input.
--max-lines
[=
max-lines]-l
[max-lines]- Use at most max-lines nonblank input lines per command line;
max-lines defaults to 1 if omitted. Trailing blanks cause an
input line to be logically continued on the next input line, for the
purpose of counting the lines. Implies -x.
--max-args=
max-args-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
xargs
will exit.
--max-chars=
max-chars-s
max-chars- Use at most max-chars characters per command line, including the
command and initial arguments and the terminating nulls at the ends of
the argument strings. If you specify a value for this option which is
too large or small, a warning message is printed and the appropriate
upper or lower limit is used instead.
--max-procs=
max-procs-P
max-procs- Run up to max-procs processes at a time; the default is 1. If
max-procs is 0,
xargs
will run as many processes as
possible at a time. Use the -n, -s, or -l option
with -P; otherwise chances are that the command will be run only
once.