[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41563: Possible bug with 'sort -Vr' version sorting
From: |
Erik Auerswald |
Subject: |
bug#41563: Possible bug with 'sort -Vr' version sorting |
Date: |
Wed, 27 May 2020 17:23:27 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
On Wed, May 27, 2020 at 02:07:32PM +0200, Danie de Jager via GNU coreutils Bug
Reports wrote:
> I use sort -Vr to sort version numbers. I noticed this discrepancy on
> the latest kernel version from Centos 7.8.
>
> command to get output:
> # ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | grep -v rescue
> | sort -Vr
> 3.10.0-1127.el7.x86_64
> 3.10.0-1127.8.2.el7.x86_64
> 3.10.0-1062.18.1.el7.x86_64
>
> I'd expect the middle value to be the highest version number. Is this
> by design or a bug? If it is a bug please let me know if I must log it
> somewhere.
I'd say this is by design:
Sorting compares runs of non-digits, then runs of digits. Thus each
"dot" (.) terminates a run of digits. The "problem" is an unbalanced
number of digit and non-digit runs in the version numbers.
See the following two manual sections:
http://www.gnu.org/software/coreutils/manual/coreutils.html#Version_002dsort-ordering-rules
http://www.gnu.org/software/coreutils/manual/coreutils.html#Punctuation-Characters
The "version sort" is based on Debian's version sort (but different).
It seems as if Red Hat version numbers follow different rules.
HTH,
Erik
--
Be water, my friend.
-- Bruce Lee