Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

uniq(1)

comm(1)

rev(1)

join(1)

SORT(1)                              BSD                               SORT(1)



NAME
     sort - sort or merge files

SYNOPSIS
     sort [ options ] [ files ]

DESCRIPTION
     sort sorts lines of all the named files together and writes the result on
     the standard output.  A dash (-) used as a filename means the standard
     input.  If you specify no input files, sort uses the standard input.

     The default sort key is an entire line.  Default ordering is
     lexicographic by bytes in machine collating sequence.  The ordering is
     affected globally by the following options, one or more of which may
     appear.

OPTIONS
     -b             Ignore leading blanks (spaces and tabs) in field
                    comparisons.

     -d             Use dictionary order, making only letters, digits, and
                    blanks significant in comparisons.

     -f             Fold uppercase letters onto lowercase.

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

     -n             Sort an initial numeric string (consisting of optional
                    blanks, optional minus sign, and zero or more digits with
                    optional decimal point) by arithmetic value. This option
                    implies option -b.

     -r             Reverse the sense of comparisons.

     -tx            Specify x as the tab character separating fields.

     +pos1 [-pos2]  Restrict a sort key to a field beginning at pos1 and
                    ending just before pos2.  Both pos1 and pos2 have the form
                    m.n, optionally followed by one or more of the flags
                    -bdfinr, where m specifies the number of fields to skip
                    from the beginning of the line and n specifies the number
                    of characters to skip further.

                    If any flags are present they override all the global
                    ordering options for this key.  If the -b option is in
                    effect, n is counted from the first nonblank in the field;
                    -b is attached independently to pos2.  A missing .n means
                    .0; a missing -pos2 means the end of the line.  Under the
                    -tx option, fields are strings separated by x; otherwise
                    fields are non-empty non-blank strings separated by
                    blanks.

                    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.

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

     -o name        Use name as the output file instead of the standard
                    output.  This file may be the same as one of the inputs.

     -T directory   Use directory as the name of a directory in which
                    temporary files should be made.

     -u             Suppress all but one line in each set of equal lines.
                    Ignored bytes and bytes outside keys do not participate in
                    this comparison.

EXAMPLES
     To print in alphabetical order all the unique spellings in a list of
     words, with capitalized words distinguished from uncapitalized, use

             sort -u +0f +0 list

     To print the password file sorted by user ID number (the third colon-
     separated field as described in passwd(5)), use

             sort -t: +2n /etc/passwd

     To print the first instance of each month in an already sorted file of
     month/day entries, use the command line shown below.  The options -um
     with just one input file make the choice of a unique representative from
     a set of equal lines predictable.

             sort -um +0 -1 dates

FILES
     /usr/tmp/stm*, /tmp/*    first and second tries for temporary files

DIAGNOSTICS
     Comments and exits with nonzero status for various trouble conditions and
     for disorder discovered under option -c.

BUGS
     Very long lines are silently truncated.

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

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