Я обнаружил, что результат сортировки в ASCII:
test
исходного файла:
1-
11-
1-a
11-a
Сортировка с использованием ASCII:
$ LANG=en_US.ascii sort test
1-
1-a
11-
11-a
И используя UTF-8:
$ LANG=en_US.utf8 sort test
1-
11-
11-a
1-a
Я чувствую, что это так нелогично, и это не порядок словаря.
Разве символ '-' (002d
) не всегда меньше [0-9]
(0030-0039
)?
Каково общее правило в сопоставлении UTF-8?
И как это обойти, просто сделать -
быть меньше [0-9]
, оставив другие символы неизменными для UTF-8 в Linux? (Это может повлиять на результат ls --sort
, sort
и т.д.)