.TH xargs "" "" Command
.PC "Execute a command with many arguments"
\fBxargs \fIcommand argument ... argument\fR
.PP
\*(CO limits the amount of memory available to hold a command's
arguments; therefore, a command will fail if its list of arguments
exceeds this limit.
.II BUFSIZ
.II stdio.h
This limit is set by the constant
.BR BUFSIZ ,
which is defined in the header file
.BR stdio.h .
.PP
To avoid this problem, \*(CO offers the command
.BR xargs .
This command executes
.I command
and passes to it every
.IR argument .
An
.I argument
can be an option to
.IR command ,
the name of a file, or anything else that
.I commands
expects.
.B xargs
then redirects the standard input into
.IR command .
.B xargs
is careful not to exceed the system-imposed limit, which
is expected to be greater than
.BR BUFSIZ .
It continues to execute
.I command
with the read-in arguments until it reaches end-of-file.
.SH "See Also"
.Xr "commands," commands
.Xr "exec," exec
.Xr "execution" execution
.SH Notes
The \*(CO implementation of
.B xargs
performs only the most basic \(em and most important \(em behaviors of
.BR xargs .
You must rewrite all scripts that depend upon the more exotic behaviors
of the System-V implementation of
.BR xargs .
