-.I pos2
-each have the form
-.IB m . n\fR,
-optionally followed by one or more of the flags
-.B bdf\&inr,
-where
-.I m
-tells a number of fields to skip from the beginning of the line and
-.I n
-tells a number of characters to skip further.
-If any flags are present they override all the global
-ordering options for this key. If the
-.B b
-option is in effect
-.I n
-is counted from the first nonblank in the field;
-.B b
-is attached independently to
-.IR pos2 .
-A missing \&\fB.\fIn\fR means .0; a missing
-.BI \- pos2
-means the end of the line. Under the
-.BI \-t x
-option, fields are strings separated by
-.IR x ;
-otherwise fields are nonempty nonblank strings separated by blanks.
-.LP
-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.
-.LP
-These option arguments are also understood:
-.TP 5
-.B c
-Check that the input file is sorted according to the ordering rules;
-give no output unless the file is out of sort.
-.TP 5
-.B m
-Merge only, the input files are already sorted.
-.TP 5
-.B o
-The next argument 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.
-.TP 5
-.B T
-The next argument is the name of a directory in which temporary files
-should be made.
-.TP 5
-.B u
-Suppress all but one in each set of equal lines.
-Ignored bytes and bytes outside keys do not participate in this comparison.
-.SH EXAMPLES
-.LP
-Print in alphabetical order all the unique spellings in a list of words.
-Capitalized words differ from uncapitalized.
-.LP
-.ti +8
-sort \-u +0f +0 list
-.LP
-Print the password file
-.RI ( passwd (5))
-sorted by user id number (the 3rd colon-separated field).
-.LP
-.ti +8
-sort \-t: +2n /etc/passwd
-.LP
-Print the first instance of each month in an already sorted file
-of (month day) entries.
-The options
-.B \-um
-with just one input file make the choice of a
-unique representative from a set of equal lines predictable.
-.LP
-.ti +8
-sort \-um +0 \-1 dates
-.SH FILES
-/usr/tmp/stm*, /tmp/* first and second tries for
-temporary files
-.SH "SEE ALSO"
-uniq(1),
-comm(1),
-rev(1),
-join(1)
-.SH DIAGNOSTICS
-Comments and exits with nonzero status for various trouble
-conditions and for disorder discovered under option
-.BR \-c .
-.SH BUGS
-Very long lines are silently truncated.
+.I \-f
+options do, BSD and System V
+.B sort
+programs produce different output; GNU
+.B sort
+follows the POSIX behavior, which is usually like the System V behavior.
+.PP
+If the environment variable TMPDIR is set,
+.B sort
+uses it as the directory in which to put temporary files instead of
+the default, /tmp.
+.PP
+The following options affect the ordering of output lines. They may
+be specified globally or as part of a specific key field. If no key
+fields are specified, global options apply to comparison of entire
+lines; otherwise the global options are inherited by key fields that
+do not specify any special options of their own.
+.TP
+.I \-b
+Ignore leading blanks when finding sort keys in each line.
+.TP
+.I \-d
+Sort in `dictionary order': ignore all characters except letters,
+digits and blanks when sorting.
+.TP
+.I \-f
+Fold lower case characters into the equivalent upper case characters
+when sorting so that, for example, `b' is sorted the same way `B' is.
+.TP
+.I \-i
+Ignore characters outside the ASCII range 040-0176 (inclusive) when sorting.
+.TP
+.I \-M
+An initial string, consisting of any amount of white space, followed
+by three letters abbreviating a month name, is folded to lower case
+and compared in the order `jan' < `feb' < ... < `dec.' Invalid names
+compare low to valid names. This option implies
+.IR \-b .
+.TP
+.I \-n
+Compare according to arithmetic value an initial numeric string
+consisting of optional white space, an optional \- sign, and zero or
+more digits, optionally followed by a decimal point and zero or more
+digits. This option implies
+.IR \-b .
+.TP
+.I \-r
+Reverse the result of comparison, so that lines with greater key
+values appear earlier in the output instead of later.
+.PP
+Other options are:
+.TP
+.I "\-o output-file"
+Write output to
+.I output-file
+instead of to the standard output. If
+.I output-file
+is one of the input files,
+.B sort
+copies it to a temporary file before sorting and writing the output to
+.IR output-file .
+.TP
+.I "\-t separator"
+Use character
+.I separator
+as the field separator when finding the sort keys in each line. By
+default, fields are separated by the empty string between a
+non-whitespace character and a whitespace character. That is to say,
+given the input line ` foo bar',
+.B sort
+breaks it into fields ` foo' and ` bar'. The field separator is not
+considered to be part of either the field preceding or the field
+following it.
+.TP
+.I \-u
+For the default case or the
+.I \-m
+option, only output the first of a sequence of lines that compare
+equal. For the
+.I \-c
+option, check that no pair of consecutive lines compares equal.
+.TP
+.I "+POS1 [\-POS2]"
+Specify a field within each line to use as a sorting key. The field
+consists of the portion of the line starting at POS1 and up to (but
+not including) POS2 (or to the end of the line if POS2 is not given).
+The fields and character positions are numbered starting with 0.
+.TP
+.I "\-k POS1[,POS2]"
+An alternate syntax for specifying sorting keys.
+The fields and character positions are numbered starting with 1.
+.PP
+A position has the form \fIf\fP.\fIc\fP, where \fIf\fP is the number
+of the field to use and \fIc\fP is the number of the first character
+from the beginning of the field (for \fI+pos\fP) or from the end of
+the previous field (for \fI\-pos\fP). The .\fIc\fP part of a position
+may be omitted in which case it is taken to be the first character in
+the field. If the
+.I \-b
+option has been given, the .\fIc\fP part of a field specification is
+counted from the first nonblank character of the field (for
+\fI+pos\fP) or from the first nonblank character following the
+previous field (for \fI\-pos\fP).
+.PP
+A \fI+pos\fP or \fI-pos\fP argument may also have any of the option
+letters
+.I Mbdfinr
+appended to it, in which case the global ordering options are not used
+for that particular field. The
+.I \-b
+option may be independently attached to either or both of the
+\fI+pos\fP and \fI\-pos\fP parts of a field specification, and if it
+is inherited from the global options it will be attached to both.
+If a
+.I \-n
+or
+.I \-M
+option is used, thus implying a
+.I \-b
+option, the
+.I \-b
+option is taken to apply to both the \fI+pos\fP and the \fI\-pos\fP
+parts of a key specification. Keys may span multiple fields.