Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xargs(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                 xargs(1)



        _________________________________________________________________
        xargs                                                     Command
        construct argument list(s) and execute command
        _________________________________________________________________


        SYNTAX

        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 flags you specify determine the number of arguments
        read for each command invocation and how they are combined.

        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.  Then, command is executed with the
        accumulated arguments.  This process is repeated until there are
        no more arguments.  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 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.




        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                                 xargs(1)



        -ireplstr           Insert mode:  command is executed for each
                            line from standard input, taking the entire
                            line as a single argument and 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.

        -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, or xargs terminates execution.

        -t                  Trace mode: The command and each constructed
                            argument list are echoed to file descriptor 2
                            just before 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 (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
                            none 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, plus the count of characters in the
                            command name.



        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                                 xargs(1)



        -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
                            value -e 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 encountered.

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


        EXAMPLES

        In the Bourne shell 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/{}

        In the Bourne shell 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.  Xargs archives them into arch one at a time (1.), or
        many at a time (2.).

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


        DIAGNOSTICS

        Self-explanatory.




        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)



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