|
|
1.1 ! root 1: .TH SORT 1 ! 2: .CT 1 files ! 3: .SH NAME ! 4: sort \- sort and/or merge files ! 5: .SH SYNOPSIS ! 6: .B sort ! 7: [ ! 8: .BI -cmuMbdf\&inrt x ! 9: ] ! 10: [ ! 11: .BI + pos1 ! 12: [ ! 13: .BI - pos2 ! 14: ] ... ! 15: ] ! 16: [ ! 17: .B -o ! 18: .I output ! 19: ] ! 20: [ ! 21: .I option ... ! 22: ] ! 23: [ ! 24: .I file ... ! 25: ] ! 26: .SH DESCRIPTION ! 27: .I Sort\^ ! 28: sorts ! 29: lines of all the ! 30: .I files ! 31: together and writes the result on ! 32: the standard output. ! 33: The name ! 34: .B - ! 35: means ! 36: the standard input. ! 37: If no input files are named, the standard input is sorted. ! 38: .PP ! 39: The default sort key is an entire line. ! 40: Default ordering is ! 41: lexicographic by bytes in machine ! 42: collating sequence. ! 43: The ordering is affected globally by the following options, ! 44: one or more of which may appear. ! 45: .TP ! 46: .B -M ! 47: Compare as months. ! 48: The first three ! 49: non-white space characters ! 50: of the field ! 51: are folded ! 52: to lower case ! 53: and compared ! 54: so that ! 55: .L jan ! 56: precedes ! 57: .LR feb , ! 58: etc. ! 59: Invalid fields ! 60: compare low to ! 61: .LR jan . ! 62: .TP ! 63: .B -b ! 64: Ignore leading white space (spaces and tabs) in field comparisons. ! 65: .TP ! 66: .B -d ! 67: `Phone directory' order: only letters, digits and white space ! 68: are significant in comparisons. ! 69: .TP ! 70: .B -f ! 71: Fold upper case ! 72: letters onto lower case. ! 73: .TP ! 74: .B -i ! 75: Ignore characters outside the ! 76: .SM ASCII ! 77: range 040-0176 ! 78: in non-numeric comparisons. ! 79: .TP ! 80: .B -n ! 81: An initial numeric string, ! 82: consisting of optional white space, optional minus sign, ! 83: and zero or more digits with optional decimal point, ! 84: is sorted by arithmetic value. ! 85: Option ! 86: .B -n ! 87: implies option ! 88: .BR -b . ! 89: .TP ! 90: .B -g ! 91: Numbers, like ! 92: .B -n ! 93: but with optional ! 94: .BR e -style ! 95: exponents, are sorted by value. ! 96: .TP ! 97: .B -r ! 98: Reverse the sense of comparisons. ! 99: .TP ! 100: .BI -t x\^ ! 101: `Tab character' separating fields is ! 102: .IR x . ! 103: .PP ! 104: The notation ! 105: .BI + "pos1\| " - pos2\^ ! 106: restricts a sort key to a field beginning at ! 107: .I pos1\^ ! 108: and ending just before ! 109: .IR pos2 . ! 110: .I Pos1\^ ! 111: and ! 112: .I pos2\^ ! 113: each have the form ! 114: .IB m . n , ! 115: optionally followed by one or more of the flags ! 116: .BR Mbdfginr , ! 117: where ! 118: .I m\^ ! 119: tells a number of fields to skip from the beginning of the line and ! 120: .I n\^ ! 121: tells a number of characters to skip further. ! 122: If any flags are present they override all the global ! 123: ordering options for this key. ! 124: A missing ! 125: .BI \&. n\^ ! 126: means ! 127: .B \&.0; ! 128: a missing ! 129: .BI - pos2\^ ! 130: means the end of the line. ! 131: Under the ! 132: .BI -t x\^ ! 133: option, fields are strings separated by ! 134: .IR x ; ! 135: otherwise fields are ! 136: non-empty strings separated by white space. ! 137: White space before a field ! 138: is part of the field, except under option ! 139: .BR -b . ! 140: A ! 141: .B b ! 142: flag may be attached independently to ! 143: .IR pos1 ! 144: and ! 145: .IR pos2. ! 146: .PP ! 147: When there are multiple sort keys, later keys ! 148: are compared only after all earlier keys ! 149: compare equal. ! 150: Lines that otherwise compare equal are ordered ! 151: with all bytes significant. ! 152: .PP ! 153: These option arguments are also understood: ! 154: .TP ! 155: .B -c ! 156: Check that the single input file is sorted according to the ordering rules; ! 157: give no output unless the file is out of sort. ! 158: .TP ! 159: .B -m ! 160: Merge; the input files are already sorted. ! 161: .TP ! 162: .B -u ! 163: Suppress all but one in each ! 164: set of equal lines. ! 165: Ignored bytes ! 166: and bytes outside keys ! 167: do not participate in ! 168: this comparison. ! 169: .TP ! 170: .B -o ! 171: The next argument is the name of an output file ! 172: to use instead of the standard output. ! 173: This file may be the same as one of the inputs. ! 174: .TP ! 175: .BI -T " tempdir ! 176: Put temporary files in ! 177: .I tempdir ! 178: rather than in (the default) ! 179: .BR /usr/tmp . ! 180: .TP ! 181: .BI -y memory ! 182: Suggests the use of the specified number of ! 183: bytes of internal store in hopes of tuning performance; ! 184: 0 is appropriate for very small files, a missing ! 185: number for huge ones. ! 186: .TP ! 187: .BI -z recsize ! 188: Provide for abnormally large records; ! 189: useful only with ! 190: .B -c ! 191: and ! 192: .B -m ! 193: .SH EXAMPLES ! 194: .TP ! 195: .L sort -u +0f +0 list ! 196: Print in alphabetical order all the unique spellings ! 197: in a list of words ! 198: where capitalized words differ from uncapitalized. ! 199: .TP ! 200: .L sort -t: +2n /etc/passwd ! 201: Print the password file ! 202: .RI ( passwd (5)) ! 203: sorted by userid ! 204: (the third colon-separated field). ! 205: .TP ! 206: .L sort -umM dates ! 207: Print the first instance of each month in an already sorted file. ! 208: Options ! 209: .B -um ! 210: with just one input file make the choice of a ! 211: unique representative from a set of equal lines predictable. ! 212: .TP ! 213: .L ! 214: grep -n '^' input | sort -t: +1f +0n | sed 's/[0-9]*://' ! 215: A stable sort: input lines that compare equal will ! 216: come out in their original order. ! 217: .SH FILES ! 218: .F /usr/tmp/stm??? ! 219: .SH SEE ALSO ! 220: .IR comm (1), ! 221: .IR join (1), ! 222: .IR uniq (1), ! 223: .IR look (1) ! 224: .SH DIAGNOSTICS ! 225: .I Sort ! 226: comments and exits with non-zero status for various trouble ! 227: conditions and for disorder discovered under option ! 228: .BR -c . ! 229: .SH BUGS ! 230: Option ! 231: .B -g ! 232: compares rounded floating binary values. ! 233: .br ! 234: Syntax needs overhauling.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.