Ich fand, dass das Sortierergebnis in ASCII:
Quelldatei test
:
1-
11-
1-a
11-a
Nach ASCII sortieren:
$ LANG=en_US.ascii sort test
1-
1-a
11-
11-a
Und mit UTF-8:
$ LANG=en_US.utf8 sort test
1-
11-
11-a
1-a
Ich finde, es ist so kontrapunktisch und es ist keine Reihenfolge der Wörterbücher.
Ist der Charakter nicht "-" ( 002d
) ist dann immer weniger [0-9]
( 0030-0039
)
Was ist die allgemeine Regel in der UTF-8-Kollatierung?
Und wie man das umgehen kann, einfach machen -
dann weniger sein [0-9]
während andere Zeichen für UTF-8 unter Linux unverändert bleiben? (So kann es das Ergebnis beeinflussen ls --sort
. sort
, usw. )
sort
8.5 von GNU coreutils, "1-" steht immer vor "11-", mit einem beliebigen Gebietsschema.