--
¶Delimit the option list. Later arguments, if any, are treated as operands even
if they begin with ‘-’. For example, ‘xargs -- --help’ runs the
command ‘--help’ (found in PATH
) instead of printing the usage text,
and ‘xargs -- --mycommand’ runs the command ‘--mycommand’ instead of
rejecting this as unrecognized option.
--arg-file=inputfile
-a inputfile
Read names from the file inputfile instead of standard input. If you use this option, the standard input stream remains unchanged when commands are run. Otherwise, stdin is redirected from /dev/null.
--null
-0
Input file names are terminated by a null character instead of by whitespace, and any quotes and backslash characters are not considered special (every character is taken literally). Disables the end of file string, which is treated like any other argument.
--delimiter delim
-d delim
Input file names are terminated by the specified character delim instead of by whitespace, and any quotes and backslash characters are not considered special (every character is taken literally). Disables the logical end-of-file marker string, which is treated like any other argument.
The specified delimiter may be a single character, a C-style character
escape such as ‘\n’, or an octal or hexadecimal escape code.
Octal and hexadecimal escape codes are understood as for the
printf
command. Multibyte characters are not supported.
-E eof-str
--eof[=eof-str]
-e[eof-str]
Set the logical end-of-file marker string to eof-str. If the
logical end-of-file marker string occurs as a line of input, the rest of
the input is ignored. If eof-str is omitted (‘-e’) or blank
(either ‘-e’ or ‘-E’), there is no logical end-of-file marker
string. The ‘-e’ form of this option is deprecated in favour of
the POSIX-compliant ‘-E’ option, which you should use instead. As
of GNU xargs
version 4.2.9, the default behaviour of xargs
is not to have a logical end-of-file marker string. The POSIX standard
(IEEE Std 1003.1, 2004 Edition) allows this.
The logical end-of-file marker string is not treated specially if the ‘-d’ or the ‘-0’ options are in effect. That is, when either of these options are in effect, the whole input file will be read even if ‘-E’ was used.
--help
Print a summary of the options to xargs
and exit.
-I replace-str
--replace[=replace-str]
-i[replace-str]
Replace occurrences of replace-str in the initial arguments with names read from standard input. Also, unquoted blanks do not terminate arguments; instead, the input is split at newlines only. If replace-str is omitted (omitting it is allowed only for ‘-i’ and ‘--replace’), it defaults to ‘{}’ (like for ‘find -exec’). Implies ‘-x’ and ‘-L 1’. The ‘-i’ option is deprecated in favour of the ‘-I’ option.
-L max-lines
--max-lines[=max-lines]
-l[max-lines]
Use at most max-lines non-blank input lines per command line. For ‘-l’, max-lines defaults to 1 if omitted. For ‘-L’, the argument is mandatory. Trailing blanks cause an input line to be logically continued on the next input line, for the purpose of counting the lines. Implies ‘-x’. The ‘-l’ form of this option is deprecated in favour of the POSIX-compliant ‘-L’ option.
--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.
--open-tty
-o
Reopen stdin as /dev/tty in the child process before executing
the command, thus allowing that command to be associated to the terminal
while xargs
reads from a different stream, e.g. from a pipe.
This is useful if you want xargs
to run an interactive application.
grep -lZ PATTERN * | xargs -0o -n1 vi
--interactive
-p
Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response starts with ‘y’ or ‘Y’. Implies ‘-t’.
--no-run-if-empty
-r
If the standard input is completely empty, do not run the command. By default, the command is run once even if there is no input.
--max-chars=max-chars
-s max-chars
Use at most max-chars characters per command line, including the command, initial arguments and any terminating nulls at the ends of the argument strings.
--show-limits
Display the limits on the command-line length which are imposed by the
operating system, xargs
’ choice of buffer size and the
‘-s’ option. Pipe the input from /dev/null (and perhaps
specify ‘--no-run-if-empty’) if you don’t want xargs
to do
anything.
--verbose
-t
Print the command line on the standard error output before executing it.
--version
Print the version number of xargs
and exit.
--exit
-x
Exit if the size (see the ‘-s’ option) is exceeded.
--max-procs=max-procs
-P max-procs
Run simultaneously up to max-procs processes at once; the default is 1. If
max-procs is 0, xargs
will run as many processes as
possible simultaneously. See Controlling Parallelism, for
information on dynamically controlling parallelism.
--process-slot-var=environment-variable-name
Set the environment variable environment-variable-name
to a
unique value in each running child process. Each value is a decimal
integer. Values are reused once child processes exit. This can be
used in a rudimentary load distribution scheme, for example.