Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sort(1) — DG/UX 5.4R2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

comm(1)

join(1)

uniq(1)



sort(1)                      DG/UX 5.4 Rel. 2.01                     sort(1)


NAME
       sort - sort and/or merge files

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



Licensed material--property of copyright holder(s)                         1




sort(1)                      DG/UX 5.4 Rel. 2.01                     sort(1)


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



Licensed material--property of copyright holder(s)                         2




sort(1)                      DG/UX 5.4 Rel. 2.01                     sort(1)


            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.


   International Features
       sort can process characters from multibyte code sets.  Specifying the
       -o option  allows output of characters from multibyte code sets.

       Options:

       -d     No comparison is performed for multibyte characters.

       -f     Only applies to single byte characters.

       -i     All multibyte characters are also ignored.

       +pos1  n in pos1, pos2 format m.n is the position in the column, not
              character, after the last character of the m field.

       -pos2  n in pos1, pos2 format m.n is the position in the column, not
              character, after the last character of the m field.

       -tx    A character from a multibyte code set can be specified in x as
              the field separator.

       Characters from multibyte code sets are collated in code order.

       For locales other than C, which do contain multibyte code sets, sort
       will collate using the collation rules of the given locale.  In this
       case, sort uses the strcoll(3C) function to compare entire lines and
       individual sort keys.

       Most non-C locales do not include space characters or punctuation
       characters in their collation tables, so these characters will be
       ignored in the strcoll(3C) comparison.   This results in sort



Licensed material--property of copyright holder(s)                         3




sort(1)                      DG/UX 5.4 Rel. 2.01                     sort(1)


       behaving as though the -d (dictionary order) and -b (ignore blanks)
       options are specified.

       If you are working in a non-C locale and would like traditional sort
       behavior, you can set the environment variable LC_COLLATE to C.

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

       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

       Sort, the contents of infile1 in Spanish order.

              LANG=esES; export LANG
              sort infile

FILES
       /var/tmp/stm???


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.





Licensed material--property of copyright holder(s)                         4




sort(1)                      DG/UX 5.4 Rel. 2.01                     sort(1)


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























































Licensed material--property of copyright holder(s)                         5


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