Bug in sort(1) when using +m.n -o.p and -tc
David E A Wilson
david at cs.uow.edu.au
Mon Apr 15 13:43:37 AEST 1991
gwyn at smoke.brl.mil (Doug Gwyn) writes:
>No, it's just a feature.
>>/usr/5bin/sort -t: +1.1 -1.2 +1.0 -1.1 <<!
>That should have been
> sort -t: +1.1 -1.3 +1.0 -1.2
>as documented and shown in an example in the SVR2 manual entry SORT(1).
It looks like the SunOS 4.1.1 manual is in error then:
---------------------------------------------------------------------------
Field Specification Options
-tc Use c as the word delimiter character; unlike white-
space characters, adjacent delimiters indicate word
breaks; if : is the delimiter character, :: delimits an
empty word.
sort-field
This is a combination of options that specifies a
field, within each line, to sort on. A sort-field
specification can take either of the following forms:
+sw[cf]
+sw -ew[cf]
where sw is the number of the starting word (beginning
with `0') to include in the field, ew is the number of
the word before which to end the field, and cf is a
string containing collating flags (without a leading
`-'.) When included in a sort-field specification,
these flags apply only to the field being specified,
and when given, override other collating flags given in
separate arguments (which otherwise apply to an entire
line).
If the -ew option is omitted, the field continues to
the end of a line.
You can apply a character offset to sw and ew to indi-
cate that a field is to start or end a given number of
characters within a word, using the notation: `w.c'. A
starting position specified in the form: `+w.c' indi-
cates the character in position c (beginning with 0 for
the first character), within word w (1 and 1.0 are
equivalent). An ending position specified in the form:
`-w.c' indicates that the field ends at the character
just prior to position c (beginning with 0 for the del-
imiter just prior to the first character), within word
w. If the -b flag is in effect, c is counted from the
first non-white-space or non-delimiter character in the
field, otherwise, delimiter characters are counted.
EXAMPLES
Sort, in reverse order, the contents of input-file1 and
input-file2, placing the output in output-file and using the
first character of the second field as the sort key:
sort -r -o output-file +1.0 -1.1 input-file1 input-
file2
Sort, in reverse order, the contents of input-file1 and
input-file2 using the first non-blank character of the
second field as the sort key:
sort -r +1.0b -1.1b input-file1 input-file2
---------------------------------------------------------------------------
--
David Wilson Dept Comp Sci, Uni of Wollongong david at cs.uow.edu.au
More information about the Comp.bugs.sys5
mailing list