Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

comm(1)

join(1)

uniq(1)



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



NAME
     sort - sort and/or merge files

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

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

     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, and ordering is lexicographic by
     bytes in machine collating sequence.

     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 hav-
          ing 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 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 max-
          imum memory.

     -zrecsz
          The size of the longest line read is recorded in the
          sort phase so buffers can be allocated during the merge



                        Printed 11/19/92                   Page 1





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



          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 cause sort to
          terminate 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.

     -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 non-printable characters.

     -M   Compare as months.  The first three non-blank charac-
          ters of the field are folded to upper case and com-
          pared.  For example, in English the sorting order is
          "JAN" < "FEB" < ... < "DEC".  Invalid fields compare
          low to "JAN".  The -M option implies the -b option (see
          below).

     -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 only effective 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 over-
     ride all global ordering options for that key.

     The notation +pos1 -pos2 restricts a sort key to one begin-
     ning at pos1 and ending just before pos2.  The characters at
     position pos1 and just before 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.  The
     treatment of field separators can be altered using the



 Page 2                 Printed 11/19/92





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



     options:

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

     -tx  Use x as the field separator character; x is not con-
          sidered to be part of a field (although it may be
          included in a sort key).  Each occurrence of x is sig-
          nificant (for example, xx delimits an empty field).

     pos1 and pos2 each have the form m.n optionally followed by
     one or more of the flags bdfinr.  A starting position speci-
     fied 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 charac-
     ter 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 oth-
     erwise compare equal are ordered with all bytes significant.

INTERNATIONAL FUNCTIONALITY
     sort can process characters from supplementary code sets.
     Specifying the -o option  allows output of characters from
     supplementary 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.



                        Printed 11/19/92                   Page 3





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



     -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 supplementary code sets can be speci-
          fied in x as the field separator.

     Characters from supplementary code sets are collated in code
     order.

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, suppress-
     ing 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
     /var/tmp/stm???

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

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



 Page 4                 Printed 11/19/92





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



     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 order-
     ing on equal keys.


















































                        Printed 11/19/92                   Page 5



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