GNU bug report logs - #6007
locale sort ordering confusion

Previous Next

Package: coreutils;

Reported by: "Vito Di Blas" <vito.diblas <at> libero.it>

Date: Thu, 22 Apr 2010 21:45:03 UTC

Severity: normal

Tags: moreinfo

Done: Eric Blake <eblake <at> redhat.com>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 6007-done <at> debbugs.gnu.org (full text, mbox):

From: Eric Blake <eblake <at> redhat.com>
To: Vito Di Blas <vito.diblas <at> libero.it>
Cc: 6007-done <at> debbugs.gnu.org
Subject: Re: bug#6007: sort command in Fedora10
Date: Thu, 22 Apr 2010 16:28:08 -0600
[Message part 1 (text/plain, inline)]
On 04/22/2010 03:34 PM, Vito Di Blas wrote:
> and I obtain the  file bbb.txt
> 
> Cari figli, domani
> Cari figli, ieri
> Cari figli, oggi
> Cari figlioli
> Cari figliozzi
> Cari figli, pregate
> Cari figlipucci
> 
> 
> which doesn't look sorted according to my expectation.

Not a bug, if you are in a locale where the collating order discards
punctuation and whitespace as insignificant.

> Then, in WindowsXP, I sort again the file aaa.txt with the command:
> 
> <...>    sort  aaa.txt  > ccc.txt
> 
> and I get the file ccc.txt :
> 
> Cari figli, domani
> Cari figli, ieri
> Cari figli, oggi
> Cari figli, pregate
> Cari figlioli
> Cari figliozzi
> Cari figlipucci

This is due to a difference in the default locales of your two systems.
http://www.gnu.org/software/coreutils/faq/#Sort-does-not-sort-in-normal-order_0021

Try again with 'LC_ALL=C sort aaa.txt' to see the difference.
Personally, I have 'export LC_COLLATE=C' in my ~/.bashrc in order to
guarantee traditional sorting, while everything else continues to follow
my default locale.

-- 
Eric Blake   eblake <at> redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 15 years and 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.