Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2016 18:58:28 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-i386@FreeBSD.org
Subject:   [Bug 213128] version sort (sort -V) order incorrect with non-alphanumeric characters
Message-ID:  <bug-213128-10@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213128

            Bug ID: 213128
           Summary: version sort (sort -V) order incorrect with
                    non-alphanumeric characters
           Product: Base System
           Version: 10.3-RELEASE
          Hardware: i386
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: skh1002@hotmail.com
                CC: freebsd-i386@FreeBSD.org
                CC: freebsd-i386@FreeBSD.org

On FreeBSD 10.3-RELEASE-p9 with /usr/bin/sort version 2.3-FreeBSD:

Version-sorting produces incorrect order if non-alphanumeric characters are
present in sorted lines. Prefix (name) parts of the sorted lines sharing the
same starting characters are seemingly sorted in the reverse order. This is=
 an
example from my package folder:

$ ls /usr/ports/packages/All | sort -V
=E2=80=A6
pkgconf-0.9.12_1.txz
pkgconf-1.0.1.txz
pkg-1.6.4_1.txz
pkg-1.7.1.txz
pkg-1.7.2.txz
=E2=80=A6

To reproduce the behaviour, the following can be done. The next two commands
produce identical and correct output:

$ echo -e "aa\nab\nabcdefg\nabd\nabcde\nabc\nabcdef"|sort
aa
ab
abc
abcde
abcdef
abcdefg
abd

And

$ echo -e "aa\nab\nabcdefg\nabd\nabcde\nabc\nabcdef"|sort -V
aa
ab
abc
abcde
abcdef
abcdefg
abd

However, the second of these two produces clearly incorrect sort order:

$ echo -e "aa-\nab-\nabcdefg-\nabd-\nabcde-\nabc-\nabcdef-=E2=80=9C|sort
aa-
ab-
abc-
abcde-
abcdef-
abcdefg-
abd-

But

$ echo -e "ab-\nabcdefg-\nabd-\nabcde-\nabc-\nabcdef-"|sort -V
abcdefg-
abcdef-
abcde-
abc-
abd-
ab-

The same behaviour is observed when different non-alphanumeric characters a=
re
appended to the end of the sorted strings:

echo -e "ab-\nabcdefg&\nabd#\nabcde@\nabc&\nabcdef_"|sort -V
abcdefg&
abcdef_
abcde@
abc&
abd#
ab-

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213128-10>