Subject: Re: bug#18867: sort utility bug reporting

From: Eric Blake <[email-masked]>
Date: Tue, 28 Oct 2014 06:33:59 -0600

tag 18867 notabug
thanks

On 10/27/2014 03:47 PM, Rameshreddy Mudhireddy wrote:
> [erammud@eussjlxxen210 ~/programs/python/rewrite_tree]:sort --version
> sort (GNU coreutils) 6.12

You may want to upgrade; the latest version is 8.23, and there HAVE been
sort bug fixes in the meantime.  However, for your particular issue,
what you have found is not a bug in sort but in your usage.

> sort 3.log
> l.c
> lD.h
> l.h

Newer builds of sort include a --debug flag that show you what is going on:

$ printf 'l.c\nlD.h\nl.h\n' | sort --debug
sort: using ‘en_US.UTF-8’ sorting rules
l.c
___
lD.h
____
l.h
___

$ printf 'l.c\nlD.h\nl.h\n' | LC_ALL=C sort --debug
sort: using simple byte comparison
l.c
___
l.h
___
lD.h
____

You have encountered a FAQ:
https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Sort-does-not-sort-in-normal-order_0021

Your current locale has chosen a collation sequence that is case
insensitive and ignores punctuation, so sort IS sorting correctly.  Set
LC_ALL in the environment of sort to a different locale if you want
bytewise sorting.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org