Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sort(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                  sort(1)



        _________________________________________________________________
        sort                                                      Command
        sort and/or merge files
        _________________________________________________________________


        SYNTAX

        sort [-cmu] [-ooutput] [-ykmem] [-zrecsz] [-dfiMnr] [-btx] [+pos1
        [-pos2]] [files]


        DESCRIPTION

        Sort sorts lines of all the named files and writes the result on
        the standard output.  The standard input is read if - is used as
        a file name or if no input files are named.

        The default sort order is by ASCII code, wherein all capital
        letters come before lowercase letters.  To get more conventional
        alphabetical sorting, use the -f or -d option. Numerical and by-
        month sorts are also possible; see the options below.

        Comparisons are based on one or more sort keys extracted from
        each line of input.  By default, there is one sort key: the
        entire input line.

        The following options alter the default behavior:

        -c   Check that the input file is sorted according to the
             ordering rules; give no output unless the file is out of
             sort.

        -m   Merge only, the input files are already sorted.

        -u   Unique: suppress all but one in each set of lines having
             equal keys.

        -ooutput
             The argument given is the name of an output file to use
             instead of the standard output.  This file may be the same
             as one of the inputs.  There may be optional blanks between
             -o and output.

        -ykmem
             The amount of main memory used by the sort has a large
             impact on its performance.  Sorting a small file in a large
             amount of memory is a waste.  If this option is omitted,
             sort begins using a system default memory size, and
             continues to use more space as needed.  If this option is
             presented with a value, kmem, sort will start using that



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





                                                                  sort(1)



             number of kilobytes of memory, unless the administrative
             minimum or maximum is violated, in which case the
             corresponding extremum will be used.  Thus, -y0 is
             guaranteed to start with minimum memory.  By convention, -y
             (with no argument) starts with maximum memory.

        -zrecsz
             The size of the longest line read is recorded in the sort
             phase so buffers can be allocated during the merge phase.
             If the sort phase is omitted via the -c or -m options, a
             popular system default size will be used.  Lines longer than
             the buffer size will terminate sort abnormally.  Supplying
             the actual number of bytes in the longest line to be merged
             (or some larger value) will prevent abnormal termination.

        The following options override the default ordering rules.

        -M   Compare as months.  The first three non-blank characters of
             the field are folded to upper case and compared so that JAN
             < FEB < ... < DEC.  Invalid fields compare low to JAN.  The
             -M option implies the -b option (see above).

        -d   Dictionary order: only letters, digits and blanks (spaces
             and tabs) are significant in comparisons.

        -f   Fold lower case letters into upper case.

        -i   Ignore characters outside the ASCII range 040-0176 in non-
             numeric comparisons.

        -n   An initial numeric string, consisting of optional blanks,
             optional minus sign, and zero or more digits with optional
             decimal point, is sorted by arithmetic value.  The -n option
             implies the -b option (see below).  Note that the -b option
             is effective only when restricted sort key specifications
             are in effect.

        -r   Reverse the sense of comparisons.

        When ordering options appear before restricted sort key
        specifications, the requested ordering rules are applied globally
        to all sort keys.  When attached to a specific sort key
        (described below), the specified ordering options override all
        global ordering options for that key.

        The notation +pos1 -pos2 restricts a sort key to one beginning at
        pos1 and ending at pos2.  The characters at positions pos1 and
        pos2 are included in the sort key (provided that pos2 does not
        precede pos1).  A missing -pos2 means the end of the line.

        Specifying pos1 and pos2 involves the notion of a field, a



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





                                                                  sort(1)



        minimal sequence of characters followed by a field separator or a
        new-line.  By default, the first blank (space or tab) of a
        sequence of blanks acts as the field separator.  All blanks in a
        sequence of blanks are considered to be part of the next field;
        for example, all blanks at the beginning of a line are considered
        to be part of the first field.  You can alter the treatment of
        field separators using these options:

        -tx  Use x as the field separator character; x is not considered
             to be part of a field (although it may be included in a sort
             key).  Each occurrence of x is significant (e.g., xx
             delimits an empty field).

        -b   Ignore leading blanks when determining the starting and
             ending positions of a restricted sort key.  If the -b option
             is specified before the first +pos1 argument, it will be
             applied to all +pos1 arguments.  Otherwise, the b flag may
             be attached independently to each +pos1 or -pos2 argument
             (see below).

        Pos1 and pos2 each have the form m.n optionally followed by one
        or more of the flags bdfinr.  A starting position specified by
        +m.n is interpreted to mean the n+1st character in the m+1st
        field.  A missing .n means .0, indicating the first character of
        the m+1st field.  If the b flag is in effect, n is counted from
        the first non-blank in the m+1st field; +m.0b refers to the first
        non-blank character in the m+1st field.

        A last position specified by -m.n is interpreted to mean the nth
        character (including separators) after the last character of the
        m th field.  A missing .n means .0, indicating the last character
        of the mth field.  If the b flag is in effect n is counted from
        the last leading blank in the m+1st field; -m.1b refers to the
        first non-blank in the m+1st field.

        When there are multiple sort keys, later keys are compared only
        after all earlier keys compare equal.  Lines that otherwise
        compare equal are ordered with all bytes significant.

        EXAMPLES

        Sort the contents of infile with the second field as the sort
        key:

             sort +1 -2 infile

        Sort, in reverse order, the contents of infile1 and infile2,
        placing the output in outfile and using the first character of
        the second field as the sort key:

             sort -r -o outfile +1.0 -1.2 infile1 infile2



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





                                                                  sort(1)



        Sort, in reverse order, the contents of infile1 and infile2 using
        the first non-blank character of the second field as the sort
        key:

             sort -r +1.0b -1.1b infile1 infile2

        Print the password file (passwd(4)) sorted by the numeric user ID
        (the third colon-separated field):

             sort -t: +2n -3 /etc/passwd

        Print the lines of the already sorted file infile, suppressing
        all but the first occurrence of lines having the same third field
        (the options -um with just one input file make the choice of a
        unique representative from a set of equal lines predictable):

             sort -um +2 -3 infile


        FILES

        /usr/tmp/stm???


        SEE ALSO

        comm(1), join(1), uniq(1).


        DIAGNOSTICS

        Comments and exits with non-zero status for various trouble
        conditions (e.g., when input lines are too long), and for
        disorder discovered under the -c option.

        When the last line of an input file is missing a new-line
        character, sort appends one, prints a warning message, and
        continues.

        Sort does not guarantee preservation of relative line ordering on
        equal keys.













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



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