Неправильный/запутанный порядок сортировки Linux

Дан файл, содержащий эти строки:

Почему команда

возвращает строки в следующем порядке:

Я знаю о порядках сортировки - у меня по умолчанию en_US.UTF-8 - и я могу получить ожидаемый порядок, указав в качестве префикса команду LC_ALL=C, но я не понимаю, почему "sort" игнорирует дефисы при сортировке. Все символы являются базовыми символами ASCII, поэтому нет "странных" символов, которые могли бы нарушить порядок. Мне это кажется очень тонкой (и в моем случае дорогостоящей) ошибкой, но я уверен, что все работает так, как задумано, и надеюсь, кто-нибудь сможет объяснить, почему это так.

0191/320
07-00-40
07-04-36
07-01-16
00004738991
07-08-06
070070
sort -k1,1 myfile.txt
00004738991
0191/320
07-00-40
070070
07-01-16
07-04-36
07-08-06
Олимпий
Вопрос задан4 июля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.