Why does sort on Linux and on Cygwin return different results?
2
votes
1
answer
167
views
Scenario:
# on Linux
$ cat r456.txt
e+e+l
e+e-c
$ cat r456.txt | sort
e+e-c
e+e+l
$ sort --version
sort (GNU coreutils) 8.30
# on Cygwin
$ cat r456.txt
e+e+l
e+e-c
$ cat r456.txt | sort
e+e+l
e+e-c
$ sort --version
sort (GNU coreutils) 9.0
Packaged by Cygwin (9.0-1)
Here we see that sort
on Linux and on Cygwin returns different results. Why?
How to make sort
on Linux and on Cygwin return the same results?
---
UPD. Locales:
# on Linux
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
# on Cygwin
$ locale
LANG=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
---
UPD2. I've changed all locales on Cygwin to en_US.UTF-8
. However, sort
still returns different results:
# on Linux
$ cat r456a.txt
u1
u-1
$ cat r456a.txt | sort
u-1
u1
# on Cygwin
$ cat r456a.txt
u1
u-1
$ cat r456a.txt | sort
u1
u-1
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=en_US.UTF-8
How to fix?
---
UPD3. Observation: on both Linux and Windows all LC
variables are set to en_US.UTF-8
, strings to sort are:
ProfileDataContainer.cpp
ProfileData.cpp
Linux sort
sorts them as
ProfileDataContainer.cpp
ProfileData.cpp
Cygwin sort
sorts them as
ProfileData.cpp
ProfileDataContainer.cpp
Is it a bug in Linux sort
or in Cygwin sort
?
How to make Linux sort
produce the same results as Cygwin sort
?
Versions: Linux sort
: 8.32, Cygwin sort
: 9.0. Both are GNU coreutils
.
Asked by pmor
(665 rep)
Feb 18, 2024, 07:44 PM
Last activity: Oct 4, 2024, 12:22 PM
Last activity: Oct 4, 2024, 12:22 PM