Subject: Re: The meaning of --key of sort command?

From: Peng Yu <[email-masked]>
Date: Thu, 10 Jun 2010 11:45:36 -0500

On Thu, Jun 10, 2010 at 11:39 AM, Peng Yu <[email-masked]> wrote:
> Hi,
>
> I don't think that I completely understand what key means. In the
> following example, I thought that --key=2 should order the lines by
> the 2nd letter in each line without reordering the lines with the same
> 2nd letter. But it turns out my understanding is not correct. For
> example, "u a" was before "a a" sorting, but "u a" is after "a a"
> after sorting.
>
> According to the man page, I'd think the sorting is based on the 2nd
> column only but the 1st column. Why the 1st column matters in this
> case?
>
> -k, --key=POS1[,POS2]
>              start a key at POS1 (origin 1), end it at POS2 (default  end  of
>              line)
>
>
> $ cat input.txt
> u a
> c c
> a a
> e e
> p a
> m e
> a a
> l e
> a a
> $ sort --key=2 input.txt
> a a
> a a
> a a
> p a
> u a
> c c
> e e
> l e
> m e

I forget to mention the following command gives me the same thing
(sorting on the 2nd fieled then the 1st field). But according to info
sort, it  should not the case.

   Example:  To sort on the second field, use `--key=2,2' (`-k 2,2').
     See below for more examples.

$ sort --key=2,2 input.txt
a a
a a
a a
p a
u a
c c
e e
l e
m e

-- 
Regards,
Peng