GNU bug report logs - #9808
sort behavior

Previous Next

Package: coreutils;

Reported by: mohamad hadi kianersi <mohamad.hadi.kianersi <at> gmail.com>

Date: Thu, 20 Oct 2011 13:07:01 UTC

Severity: normal

Tags: notabug

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: mohamad hadi kianersi <mohamad.hadi.kianersi <at> gmail.com>
Subject: bug#9808: closed (Re: sort behavior [was: bug#9808: bug report])
Date: Thu, 20 Oct 2011 13:51:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#9808: sort behavior

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 9808 <at> debbugs.gnu.org.

-- 
9808: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9808
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eric Blake <eblake <at> redhat.com>
To: mohamad hadi kianersi <mohamad.hadi.kianersi <at> gmail.com>,
	9808-done <at> debbugs.gnu.org
Subject: Re: sort behavior [was: bug#9808: bug report]
Date: Thu, 20 Oct 2011 07:48:58 -0600
tag 9808 = notabug
thanks

Re-adding the list, so that others may benefit from the solution or 
chime in with suggestions.

On 10/20/2011 07:36 AM, mohamad hadi kianersi wrote:
> yes,but view these
>
> 1.
> [hadi <at> hadi ~]$  printf '10 a\n1 b\n2 c\n' | sort -k1,1 -r -n
> 10 a
> 2 c
> 1 b
>
> but
> [hadi <at> hadi ~]$  printf '10 a\n1 b\n2 c\n' | sort -k1,1r -n
> 2 c
> 10 a
> 1 b
> cant sorted with numeric

Did you try 'sort --debug' like I suggested?

$ printf '10 a\n1 b\n2 c\n' | LC_ALL=C sort -k1,1r -n --debug
sort: using simple byte comparison
sort: option `-n' is ignored
2 c
_
___
10 a
__
____
1 b
_
___

Notice - sort is _correctly_ ignoring -n, and --debug even tells you so, 
per the rules given by POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html

"The following options shall override the default ordering rules. When 
ordering options appear independent of any key field specifications, the 
requested field ordering rules shall be applied globally to all sort 
keys. When attached to a specific key (see -k), the specified ordering 
options shall override all global ordering options for that key." [d, f, 
i, n, r]

That is, the moment you use -k with r attached, then the global -n no 
longer applies to that -k; to get both r and n behavior on a single key, 
you have to attach both options to that -k:

$ printf '10 a\n1 b\n2 c\n' | LC_ALL=C sort -k1,1rn --debug
sort: using simple byte comparison
10 a
__
____
2 c
_
___
1 b
_
___

As such, I'm closing this bug report, now that we know the problem was a 
usage error and not a bug in sort.

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

[Message part 3 (message/rfc822, inline)]
From: mohamad hadi kianersi <mohamad.hadi.kianersi <at> gmail.com>
To: bug-coreutils <at> gnu.org
Subject: bug report
Date: Thu, 20 Oct 2011 14:32:12 +0330
[Message part 4 (text/plain, inline)]
Hi
when use sort with option k(key)r(revers) after these options when use
n(numeric)  dont sort with numeric option


-- 

Mohamad Hadi Kianersi
[Message part 5 (text/html, inline)]

This bug report was last modified 13 years and 215 days ago.

Previous Next


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