Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xargs(1) — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)



XARGS(1)            RISC/os Reference Manual             XARGS(1)



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

SYNOPSIS
     xargs [ flags ] [ 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, /usr/bin/echo is used.

     Arguments read in from standard input are defined to be con-
     tiguous strings of characters delimited by one or more
     blanks, tabs, or new-lines; empty lines are always dis-
     carded.  Blanks and tabs may be embedded as part of an argu-
     ment 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
     (\) escapes 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 continu-
     ously from standard input until an internal buffer is full,
     and then command is executed with the accumulated args.
     This process is repeated until there are no more args.  When
     there are flag conflicts (e.g., -l vs.  -n), the last flag
     has precedence.  Valid flags are:

     -lnumber  command is executed for each non-empty 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 new-line unless
               the last character of the line is a blank or a
               tab; a trailing blank/tab signals continuation
               through the next non-empty line.  If number is
               omitted, 1 is assumed.  Option -x is forced.

     -ireplstr Insert mode:  command is executed for each line
               from standard input, taking the entire line as a
               single arg, inserting it in initial-arguments for
               each occurrence of replstr.  A maximum of 5 argu-
               ments in initial-arguments may each contain one or



                        Printed 11/19/92                   Page 1





XARGS(1)            RISC/os Reference Manual             XARGS(1)



               more instances of replstr.  Blanks and tabs at the
               beginning of each line are thrown away.  Con-
               structed arguments may not grow larger than 255
               characters, and option -x is also forced.  {} is
               assumed for replstr if not specified.

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

     -t        Trace mode: The command and each constructed argu-
               ment list are echoed to file descriptor 2 just
               prior to their 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 (option-
               ally followed by anything) executes the command;
               anything else, including just a carriage return,
               skips that particular invocation of command.

     -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 neither of
               the options -i, -l, or -n are coded, the total
               length of all arguments must be within the size
               limit.

     -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 char-
               acter for each argument and the count of charac-
               ters in the command name.

     -eeofstr  eofstr is taken as the logical end-of-file string.
               Underbar (_) is assumed for the logical EOF string
               if -e is not coded.  The value -e with no eofstr
               coded turns off the logical EOF string capability
               (underbar is taken literally).  xargs reads stan-
               dard input until either end-of-file or the logical
               EOF string is encountered.

     xargs terminates if either it receives a return code of -1
     from, or if it cannot execute, command.  When command is a



 Page 2                 Printed 11/19/92





XARGS(1)            RISC/os Reference Manual             XARGS(1)



     shell program, it should explicitly exit (see sh(1)) with an
     appropriate value to avoid accidentally returning with -1.

EXAMPLES
     The following examples moves 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 example combines 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 (1.) one at a
     time, or (2.) many at a time.

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

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

          echo $* | xargs -n2 diff

SEE ALSO
     sh(1).

























                        Printed 11/19/92                   Page 3



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