Gary Johnson wrote:
On 2007-01-05, Erlend Hamberg <[EMAIL PROTECTED]> wrote:
On Friday 05 January 2007 15:47, striker wrote:
I have a text file in the format:
01/04/2007,field1,field2,field3
01/03/2007,field1,field2,field3
12/30/2006,field1,field2,field3
etc...

I need to sort by date, but the new dates in 2007 are placed first in
the sort algorithm.  How can I sort by the entire date in the format
above?
:%sort n /\d\+\/\d\+/

To sort by the entire date, this needs to be a two-stage process. First do an ordinary (not numeric) sort on the whole line:

    :%sort

Then do a sort (numeric or ordinary) ignoring the month and day fields, as Erlend suggested:

    :%sort n /\d\+\/\d\+/

HTH,
Gary


There is no guarantee that lines with the same year would remain in the same order (see the first non-indented paragraph under ":help :sort". They might keep their previous sort sequence in a version of Vim compiled with one compiler and run with one library, and not in a version at the same patchlevel, but compiled with another cmpiler and run with another library.

IMO the only "safe" method consists in doing a single sort operation, possibly with pre- and post- processing of sort keys. See my answer (and that of Tim Chase) to the OP.


Best regards,
Tony.

Reply via email to