xargs.1 - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       xargs.1 (2843B)
       ---
            1 .Dd July 30, 2025
            2 .Dt XARGS 1
            3 .Os sbase
            4 .Sh NAME
            5 .Nm xargs
            6 .Nd construct argument lists and execute command
            7 .Sh SYNOPSIS
            8 .Nm
            9 .Op Fl 0prtx
           10 .Op Fl E Ar eofstr
           11 .Op Fl I Ar replstr
           12 .Op Fl n Ar num
           13 .Op Fl P Ar maxprocs
           14 .Op Fl s Ar num
           15 .Op Ar cmd Op Ar arg ...
           16 .Sh DESCRIPTION
           17 .Nm
           18 reads space, tab, newline and EOF delimited strings from stdin
           19 and executes the specified
           20 .Ar cmd
           21 with the strings as
           22 .Ar arguments .
           23 .Pp
           24 Any arguments specified on the command line are given to the command upon
           25 each invocation, followed by some number of the arguments read from
           26 stdin.
           27 The command is repeatedly executed one or more times until stdin is exhausted.
           28 .Pp
           29 Spaces, tabs and newlines may be embedded in arguments using single (`'')
           30 or double (`"') quotes or backslashes ('\e').
           31 Single quotes escape all non-single quote characters, excluding newlines, up
           32 to the matching single quote.
           33 Double quotes escape all non-double quote characters, excluding newlines, up
           34 to the matching double quote.
           35 Any single character, including newlines, may be escaped by a backslash.
           36 .Sh OPTIONS
           37 .Bl -tag -width Ds
           38 .It Fl 0
           39 Change
           40 .Nm
           41 to expect NUL ('\e0') characters as separators, instead of spaces
           42 and newlines.
           43 The quoting mechanisms described above are not performed.
           44 .It Fl E Ar eofstr
           45 Use
           46 .Ar eofstr
           47 as a logical EOF marker.
           48 .It Fl I Ar replstr
           49 Use
           50 .Ar replstr
           51 as the placeholder for the argument.
           52 Sets the arguments count to 1 per command line.
           53 It also implies the option x.
           54 .It Fl n Ar num
           55 Use at most
           56 .Ar num
           57 arguments per command line.
           58 .It Fl p
           59 Prompt mode: the user is asked whether to execute
           60 .Ar cmd
           61 at each invocation.
           62 Trace mode (-t) is turned on to write the command instance to be executed,
           63 followed by a prompt to standard error.
           64 An affirmative response read from
           65 .Pa /dev/tty
           66 executes the command, otherwise it is skipped.
           67 .It Fl P Ar maxprocs
           68 Parallel mode: run at most maxprocs invocations of
           69 .Ar cmd
           70 at once.
           71 .It Fl r
           72 Do not run the command if there are no arguments.
           73 Normally the command is executed at least once even if there are no arguments.
           74 .It Fl s Ar num
           75 Use at most
           76 .Ar num
           77 bytes per command line.
           78 .It Fl t
           79 Enable trace mode.
           80 Write the command line to stderr before executing it.
           81 .It Fl x
           82 Terminate if the command line exceeds the system limit or the number of bytes
           83 given with the
           84 .Op Fl s
           85 flag.
           86 .El
           87 .Sh EXIT STATUS
           88 .Nm
           89 exits with one of the following values:
           90 .Bl -tag -width Ds
           91 .It 0
           92 All invocations of
           93 .Ar cmd
           94 returned a zero exit status.
           95 .It 123
           96 One or more invocations of
           97 .Ar cmd
           98 returned a nonzero exit status.
           99 .It 124
          100 .Ar cmd
          101 exited with a 255 exit status.
          102 .It 125
          103 .Ar cmd
          104 was killed or stopped by a signal.
          105 .It 126
          106 .Ar cmd
          107 was found but could not be executed.
          108 .It 127
          109 .Ar cmd
          110 could not be found.
          111 .It 1
          112 Some other error occurred.
          113 .El
          114 .Sh STANDARDS
          115 POSIX.1-2013.
          116 .Pp
          117 The
          118 .Op Fl r
          119 and
          120 .Op Fl P
          121 flag is an extension to that specification.