98 lines
2.1 KiB

.Dd 2015-10-08
.Os sbase
.Nm xargs
.Nd construct argument lists and execute command
.Op Fl rtx
.Op Fl E Ar eofstr
.Op Fl n Ar num
.Op Fl s Ar num
.Op Ar cmd Op Ar arg ...
reads space, tab, newline and EOF delimited strings from stdin
and executes the specified
.Ar cmd
with the strings as
.Ar arguments .
Any arguments specified on the command line are given to the command upon
each invocation, followed by some number of the arguments read from
The command is repeatedly executed one or more times until stdin is exhausted.
Spaces, tabs and newlines may be embedded in arguments using single (`'')
or double (`"') quotes or backslashes ('\\').
Single quotes escape all non-single quote characters, excluding newlines, up
to the matching single quote.
Double quotes escape all non-double quote characters, excluding newlines, up
to the matching double quote.
Any single character, including newlines, may be escaped by a backslash.
.Bl -tag -width Ds
.It Fl n Ar num
Use at most
.Ar num
arguments per command line.
.It Fl r
Do not run the command if there are no arguments.
Normally the command is executed at least once even if there are no arguments.
.It Fl E Ar eofstr
.Ar eofstr
as a logical EOF marker.
.It Fl s Ar num
Use at most
.Ar num
bytes per command line.
.It Fl t
Write the command line to stderr before executing it.
.It Fl x
Terminate if the command line exceeds the system limit or the number of bytes
given with the
.Op Fl s
exits with one of the following values:
.Bl -tag -width Ds
.It 0
All invocations of
.Ar cmd
returned a zero exit status.
.It 123
One or more invocations of
.Ar cmd
returned a nonzero exit status.
.It 124
.Ar cmd
exited with a 255 exit status.
.It 125
.Ar cmd
was killed or stopped by a signal.
.It 126
.Ar cmd
was found but could not be executed.
.It 127
.Ar cmd
could not be found.
.It 1
Some other error occurred.
utility is compliant with the
.St -p1003.1-2013
specification except from the
.Op Fl p
.Op Fl r
flag is an extension to that specification.