Неправильное поведение & ldquo; sort -u & rdquo ;?

[обновлено 12.11]

Я нашел временное решение для этого.

LC_ALL=C sort -u

из сообщения об ошибке здесь

sort будет получать информацию из LC_ALL или LANG,

My default пусто для LC_ALL, но zh_CN.UTF-8 для LANG. Если en_US.UTF-8 установлено для LANG, возникнет та же проблема.

1124 Я больше не буду копать. Но похоже, что неправильный метод кодирования используется для sort.

Большое спасибо за @GeorgeUdosen.


[обновлено 12.11] Тест в других системах:

Distribution              Sort_Version      Result
====================================================
ubuntu 17.10 (laptop)     gnu sort 8.26     Wrong
ubuntu 16.04 (desktop)    gnu sort 8.5      Wrong
centos 7                  gnu sort 8.22     Correct
centos 6                  gnu sort 8.6      Wrong
Max OSX                   2.3-Apple (99)    Correct

каждый,

У меня есть работа с моим китайским корпусом. Одним из них является создание списка китайских символов.

1129 Вот в чем проблема. У меня есть несколько символов (китайские знаки препинания) ниже: “ ” 、 。 《 》 ! ( ) , : ?

, если я пытаюсь использовать sort -u, я получаю только символы ниже:

“ ” 、


sort version is 8.26, on ubuntu 17.10 with everything up to date.

запись полной операции: pastebin

символов выше можно загрузить по адресу: pastebin

0
задан 11 December 2017 в 12:01

1 ответ

используйте

LC_ALL=C sort -u или LC_COLLATE=C sort -u

, чтобы заставить сравнить функцию в sort для сравнения байтов памяти для правильного результата.

1
ответ дан 11 December 2017 в 12:01

Другие вопросы по тегам:

Похожие вопросы: