GNU bug report logs - #69901
(echo a; echo b) | sort -nu looses some data

Previous Next

Package: coreutils;

Reported by: Rafal Maszkowski <rzm <at> icm.edu.pl>

Date: Tue, 19 Mar 2024 18:26:04 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

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: Rafal Maszkowski <rzm <at> icm.edu.pl>
Subject: bug#69901: closed (Re: bug#69901: (echo a; echo b) | sort -nu
 looses some data)
Date: Tue, 19 Mar 2024 22:08:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#69901: (echo a; echo b) | sort -nu  looses some data

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 69901 <at> debbugs.gnu.org.

-- 
69901: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69901
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Rafal Maszkowski <rzm <at> icm.edu.pl>
Cc: 69901-done <at> debbugs.gnu.org
Subject: Re: bug#69901: (echo a; echo b) | sort -nu looses some data
Date: Tue, 19 Mar 2024 15:07:01 -0700
On 3/19/24 08:33, Rafal Maszkowski wrote:
> he --debug option advised in
> README does not say anything helpful:
> 
> (echo a; echo b) | sort --debug -nu
> sort: text ordering performed using simple byte comparison
> a
> ^ no match for key

That diagnostic message is helpful. It's telling you that there's no 
number, so everything sorts as being the same, which means 'sort -nu' 
(correctly) outputs just one line.

'sort' has behaved this way for quite some time, and POSIX requires this 
behavior.

[Message part 3 (message/rfc822, inline)]
From: Rafal Maszkowski <rzm <at> icm.edu.pl>
To: bug-coreutils <at> gnu.org
Subject: (echo a; echo b) | sort -nu  looses some data
Date: Tue, 19 Mar 2024 16:33:09 +0100
Sort with -n and -u options works correctly for numbers:

(echo 10; echo 11) | sort -nu
10
11

but looses data when used with non-numbers:

(echo a; echo b) | sort -nu
a

(echo 1.0; echo 1.1) | sort -nu
1.0

I have tested this on versions 8.32 and 9.2 default for Debian 11 and
12, and additionally compiled version 9.4. The --debug option advised in
README does not say anything helpful:

(echo a; echo b) | sort --debug -nu
sort: text ordering performed using simple byte comparison
a
^ no match for key

R.
-- 
„Walczy on z całym zapamiętaniem przeciwko intelektowi” - z akt personalnych prof. A. Baeumlera



This bug report was last modified 1 year and 61 days ago.

Previous Next


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