home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SORT(1L) SORT(1L)
-
-
- NNAAMMEE
- sort - sort lines of text files
-
- SSYYNNOOPPSSIISS
- ssoorrtt [-cmus] [-t separator] [-o output-file] [-T tempdir]
- [-bdfiMnr] [+POS1 [-POS2]] [-k POS1[,POS2]] [file...]
-
- DDEESSCCRRIIPPTTIIOONN
- This manual page documents the GNU version of ssoorrtt. ssoorrtt
- sorts, merges, or compares all the lines from the given
- files, or the standard input if no files are given. A
- file name of `-' means standard input. By default, ssoorrtt
- writes the results to the standard output.
-
- ssoorrtt has three modes of operation: sort (the default),
- merge, and check for sortedness. The following options
- change the operation mode:
-
- _-_c Check whether the given files are already sorted:
- if they are not all sorted, print an error message
- and exit with a status of 1.
-
- _-_m Merge the given files by sorting them as a group.
- Each input file should already be individually
- sorted. It always works to sort instead of merge;
- merging is provided because it is faster, in the
- case where it works.
-
- A pair of lines is compared as follows: if any key fields
- have been specified, ssoorrtt compares each pair of fields, in
- the order specified on the command line, according to the
- associated ordering options, until a difference is found
- or no fields are left.
-
- If any of the global options _M_b_d_f_i_n_r are given but no key
- fields are specified, ssoorrtt compares the entire lines
- according to the global options.
-
- Finally, as a last resort when all keys compare equal (or
- if no ordering options were specified at all), ssoorrtt com-
- pares the lines byte by byte in machine collating
- sequence. The last resort comparison honors the _-_r global
- option. The _-_s (stable) option disables this last-resort
- comparison so that lines in which all fields compare equal
- are left in their original relative order. If no fields
- or global options are specified, _-_s has no effect.
-
- GNU ssoorrtt has no limits on input line length or restric-
- tions on bytes allowed within lines. In addition, if the
- final byte of an input file is not a newline, GNU ssoorrtt
- silently supplies one.
-
- If the environment variable TTMMPPDDIIRR is set, ssoorrtt uses it as
- the directory in which to put temporary files instead of
-
-
-
- FSF GNU Text Utilities 1
-
-
-
-
-
- SORT(1L) SORT(1L)
-
-
- the default, /tmp. The _-_T _t_e_m_p_d_i_r option is another way
- to select the directory for temporary files; it overrides
- the environment variable.
-
- 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.
-
- _-_b Ignore leading blanks when finding sort keys in
- each line.
-
- _-_d Sort in `phone directory' order: ignore all charac-
- ters except letters, digits and blanks when sort-
- ing.
-
- _-_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.
-
- _-_i Ignore characters outside the ASCII range 040-0176
- octal (inclusive) when sorting.
-
- _-_M An initial string, consisting of any amount of
- white space, followed by three letters abbreviating
- a month name, is folded to UPPER case and compared
- in the order `JAN' < `FEB' < ... < `DEC.' Invalid
- names compare low to valid names.
-
- _-_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.
-
- _-_r Reverse the result of comparison, so that lines
- with greater key values appear earlier in the out-
- put instead of later.
-
- Other options are:
-
- _-_o _o_u_t_p_u_t_-_f_i_l_e
- Write output to _o_u_t_p_u_t_-_f_i_l_e instead of to the stan-
- dard output. If _o_u_t_p_u_t_-_f_i_l_e is one of the input
- files, ssoorrtt copies it to a temporary file before
- sorting and writing the output to _o_u_t_p_u_t_-_f_i_l_e.
-
- _-_t _s_e_p_a_r_a_t_o_r
- Use character _s_e_p_a_r_a_t_o_r 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
-
-
-
- FSF GNU Text Utilities 2
-
-
-
-
-
- SORT(1L) SORT(1L)
-
-
- character. That is to say, given the input line `
- foo bar', ssoorrtt 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.
-
- _-_u For the default case or the _-_m option, only output
- the first of a sequence of lines that compare
- equal. For the _-_c option, check that no pair of
- consecutive lines compares equal.
-
- _+_P_O_S_1 _[_-_P_O_S_2_]
- Specify a field within each line to use as a sort-
- ing 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.
-
- _-_k _P_O_S_1_[_,_P_O_S_2_]
- An alternate syntax for specifying sorting keys.
- The fields and character positions are numbered
- starting with 1.
-
- A position has the form _f._c, where _f is the number of the
- field to use and _c is the number of the first character
- from the beginning of the field (for _+_p_o_s) or from the end
- of the previous field (for _-_p_o_s). The ._c part of a posi-
- tion may be omitted in which case it is taken to be the
- first character in the field. If the _-_b option has been
- given, the ._c part of a field specification is counted
- from the first nonblank character of the field (for _+_p_o_s)
- or from the first nonblank character following the previ-
- ous field (for _-_p_o_s).
-
- A _+_p_o_s or _-_p_o_s argument may also have any of the option
- letters _M_b_d_f_i_n_r appended to it, in which case the global
- ordering options are not used for that particular field.
- The _-_b option may be independently attached to either or
- both of the _+_p_o_s and _-_p_o_s parts of a field specification,
- and if it is inherited from the global options it will be
- attached to both. If a _-_n or _-_M option is used, thus
- implying a _-_b option, the _-_b option is taken to apply to
- both the _+_p_o_s and the _-_p_o_s parts of a key specification.
- Keys may span multiple fields.
-
- CCOOMMPPAATTIIBBIILLIITTYY
- Historical (BSD and System V) implementations of ssoorrtt have
- differed in their interpretation of some options, particu-
- larly _-_b, _-_f, and _-_n. GNU sort follows the POSIX behav-
- ior, which is usually (but not always!) like the System V
- behavior. According to POSIX _-_n no longer implies _-_b.
- For consistency, _-_M has been changed in the same way.
- This may affect the meaning of character positions in
-
-
-
- FSF GNU Text Utilities 3
-
-
-
-
-
- SORT(1L) SORT(1L)
-
-
- field specifications in obscure cases. If this bites you
- the fix is to add an explicit _-_b.
-
- BBUUGGSS
- The different meaning of field numbers depending on
- whether _-_k is used is confusing. It's all POSIX's fault!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FSF GNU Text Utilities 4
-
-
-