sort --version
sort (textutils) 2.0.14
Written by Mike Haertel and Paul Eggert.
[April 2001]
and, FWIW
uname -a
Linux 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown
I read man and info pages, but didn't find an explanation for the facts
below :
[anyway, please, bear in mind that english is not my mother tongue]
Consider a four-line text file, referred here as `file_name', which is made
of the following lines :
5 6c
3 7c
1 9c
4 8c
sort -k 2,2 file_name
returns correctly
5 6c
3 7c
4 8c
1 9c
but
sort -k 2.1,2.1 file_name
(say I want to ignore char[s] past the numerical values, I know that's trivial,
but assume
I have a very long file to sort and using a one char only key, speeds it
up significately)
returns
1 9c
3 7c
4 8c
5 6c
that is, it sorts as if no key were given, using the entire line as the
key.
-------
the problem seems to be in the end delimiter of the key, as doing
sort -k 2.1,2 file_name
works as expected, returning
5 6c
3 7c
4 8c
1 9c
whereas
sort -k 2,2.1 file_name
returns the unexpected one
1 9c
3 7c
4 8c
5 6c
Hope this helps.
-------------------------------------------------
By the way, let me ask two related questions, whose answers I couldn't find
documented anywhere :
1) Sometimes I need to sort file using as key absolute char position, as
opposed to char
position relative to fields.
Say I want to sort a file using as unique key chars in columns 11 through
16
(Assume each line of the file has 25 or more chars)
I issue the following command
sort -k 1.11,1.16 other_file_name
and everything works, even if the first field has less than 11 chars, say
just 5 or 6)
[The same happens if I were to use two keys in place of one, say
sort -k 1.11,1.16 -k 1.21,1.23 other_file_name
]
Is that an undocumented feature, or just something which could stop working
with some next
release of `sort' (textutils) ?
2) What really happens when defining a key you express it in reverse order
?
e.g.
sort -k 8,3 file_name_another
that is reversing fields (I assume my file has at least 8 fields)
and
sort -k 2.6,2.3 file_name_another
that is reversing char position in a field (I assume second filed is at
least 6 chars long)
It seems that the sort is performed as if no key were given,
using the entire line as the key; but I'm not sure.
David Fabiani
[email protected]
__________________________________________________________________
Abbonati a Tiscali!
Con Tiscali By Phone puoi anche ascoltare ed inviare email al telefono.
Chiama Tiscali By Phone all' 892 800 http://byphone.tiscali.it
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.