Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  XARGS(1)           (User Environment Utilities)          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, /bin/echo is used.

       Arguments read in from standard input are defined to be
       contiguous strings of characters delimited by one or more
       blanks, tabs, or new-lines; 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
       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.  Flag values are:

       -lnumber            command is executed for each non-empty
                           number lines of arguments from standard
                           input.  The last invocation of command


  Page 1                                                   May 1989


















  XARGS(1)           (User Environment Utilities)          XARGS(1)



                           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 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.

       -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.

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


  Page 2                                                   May 1989


















  XARGS(1)           (User Environment Utilities)          XARGS(1)



       -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
                           (optionally followed by anything) will
                           execute 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 character for each argument and
                           the count of characters 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 standard input
                           until either end-of-file or the logical
                           EOF string is encountered.

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


  Page 3                                                   May 1989


















  XARGS(1)           (User Environment Utilities)          XARGS(1)



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

  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 (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 will execute diff(1) with successive pairs of
       arguments originally typed as shell arguments:

                 echo $* | xargs -n2 diff

  SEE ALSO
       sh(1).











  Page 4                                                   May 1989
















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