Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xargs(1) — UTek W2.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1sh)

echo(1)

find(1)



XARGS(1)                COMMAND REFERENCE                XARGS(1)



NAME
     xargs - construct argument list(s) and execute command

SYNOPSIS
     xargs [ -eeofstr ][ -ireplstr ][ -lnumber ][ -nnumber ][ -p
     ][ -ssize ][ -t ][ -x ] [command[initial-arguments]]

DESCRIPTION
     Xargs combines the fixed initial-arguments with arguments
     read from standard input to execute the specified command
     one or more times.  The number of arguments read for each
     command invocation and the manner in which they are combined
     are determined by the flags specified.

     Command, which may be a shell file, is searched for, using
     one's $PATH.  If command is omitted, /bin/echo is used.

     Arguments read in from standard input are defined to be
     continuous strings of characters delimited by one or more
     blanks, tabs, or newlines; empty lines are always discarded.
     Blanks and tabs may be embedded as part of an argument if
     escaped or quoted.  Characters enclosed in quotes (single or
     double) are taken literally, and the delimiting quotes are
     removed.  Outside of quoted strings a backslash (\) will
     escape the next character.

     Each argument list is constructed starting with the
     initial-arguments, followed by some number of arguments read
     from standard input (exception: see -i flag).  Flags -i, -l,
     and -n determine how arguments are selected for each command
     invocation.  When none of these flags are coded, the
     initial-arguments are followed by arguments read
     continuously from standard input until an internal buffer is
     full, and then command is executed with the accumulated
     arguments.  This process is repeated until there are no more
     arguments.  When there are flag conflicts (for example, -l
     vs.  -n), the last flag has precedence.

     Xargs will terminate if either it receives a return code of
     -1 from, or if it cannot execute, command.  When command is
     a shell program, it should explicitly exit (see sh(1sh))
     with an appropriate value to avoid accidentally returning
     with -1.

OPTIONS
     -eeofstr
         Eofstr is taken as the logical end-of-file string.
         Underscore (_) is assumed for the logical EOF string if
         -e is not coded.  The -e option with no eofstr coded
         turns off the logical EOF string capability (underscore
         is taken literally).  Xargs reads standard input until
         either end-of-file or the logical EOF string is



Printed 10/17/86                                                1





XARGS(1)                COMMAND REFERENCE                XARGS(1)



         encountered.

     -ireplstr
         Insert mode:  command is executed for each line from
         standard input, taking the entire line as a single
         argument, inserting it in initial-arguments for each
         occurrence of replstr.  A maximum of five arguments in
         initial-arguments may each contain one or more instances
         of replstr.  Blanks and tabs at the beginning of each
         line are thrown away.  Constructed arguments may not
         grow larger than 255 characters, and option -x is also
         forced.  {} is assumed for replstr if not specified.

     -lnumber
         Command is executed for each nonempty number lines of
         arguments from standard input.  The last invocation of
         command will be with fewer lines of arguments if fewer
         than number remain.  A line is considered to end with
         the first newline unless the last character of the line
         is a blank or a tab; a trailing blank/tab signals
         continuation through the next nonempty line.  If number
         is omitted 1 is assumed.  Option -x is forced.

     -nnumber
         Execute command using as many standard input arguments
         as possible, up to number arguments maximum.  Fewer
         arguments will be used if their total size is greater
         than size characters, and for the last invocation if
         there are fewer than number arguments remaining.  If
         option -x is also coded, each number arguments must fit
         in the size limitation, else xargs terminates execution.

     -p  Prompt mode: The user is asked whether to execute
         command each invocation. Trace mode (-t) is turned on to
         print the command instance to be executed, followed by a
         ?... prompt.  A reply of y, meaning yes, (optionally
         followed by anything), will execute the command;
         anything else, including just a carriage return, skips
         that particular invocation of command.

     -ssize
         The maximum total size of each argument list is set to
         size characters; size must be a positive integer less
         than or equal to 470. If -s is not coded, 470 is taken
         as the default.  Note that the character count for size
         includes one extra character for each argument and the
         count of characters in the command name.

     -t  Trace mode: The command and each constructed argument
         list are echoed to file descriptor 2 just prior to their
         execution.




Printed 10/17/86                                                2





XARGS(1)                COMMAND REFERENCE                XARGS(1)



     -x  Causes xargs to terminate if any argument list would be
         greater than size characters; -x is forced by the
         options -i and -l.  When none of the options -i, -l, or
         -n are coded, the total length of all arguments must be
         within the size limit.

EXAMPLES
     The following will move all files from directory $1 to
     directory $2, and echo each move command just before doing
     it:



          ls $1 | xargs -i -t mv $1/{} $2/{}


     The following will combine the output of the parenthesized
     commands onto one line, which is then echoed to the end-of-
     file log:



          (logname; date; echo $0 $*) | xargs >>log


     The user is asked which files in the current directory are
     to be archived and archives them into arch either one at a
     time, or many at a time:



          1.  ls | xargs -p -l ar r arch
          2.  ls | xargs -p -l | xargs ar r arch


     The following will execute diff(1) with successive pairs of
     arguments originally typed as shell arguments:



          echo $* | xargs -n2 diff


SEE ALSO
     sh(1sh), echo(1), find(1).










Printed 10/17/86                                                3





































































%%index%%
na:72,90;
sy:162,411;
de:573,2320;
op:2893,593;3630,3111;6885,417;
ex:7302,883;
se:8185,120;
%%index%%000000000126

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026