sort – sort and/or merge files|
sort [ –cmuMbdfinrwtx ] [ +pos1 [ –pos2 ] ... ] ... [ –k pos1 [ ,pos2
] ] ...|
Sort sorts lines of all the files together and writes the result
on the standard output. If no input files are named, the standard
input is sorted. |
The default sort key is an entire line. Default ordering is lexicographic
by runes. The ordering is affected globally by the following options,
one or more of which may appear.
The notation +pos1 –pos2 restricts a sort key to a field beginning at pos1 and ending just before pos2. Pos1 and pos2 each have the form m.n, optionally followed by one or more of the flags Mbdfginr, where m tells a number of fields to skip from the beginning of the line and n tells a number of characters to skip further. If any flags are present they override all the global ordering options for this key. 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 strings separated by white space. White space before a field is part of the field, except under option –b. A b flag may be attached independently to pos1 and pos2.
The notation –k pos1[,pos2] is how POSIX sort defines fields: pos1 and pos2 have the same format but different meanings. The value of m is origin 1 instead of origin 0 and a missing .n in pos2 is the end of the 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.
These option arguments are also understood:
sort –u +0f +0 list|
Sort comments and exits with non–null status for various trouble
conditions and for disorder discovered under option –c.|
An external null character can be confused with an internally
generated end–of–field character. The result can make a sub–field
not sort less than a longer field. |
Some of the options, e.g. –i and –M, are hopelessly provincial.