Re: "Неизвестный" sort. Прошу заставить его работать...
On 2012-07-12, Oleksandr Gavenko wrote:
> On 2012-07-12, Oleksandr Gavenko wrote:
>
>> Я думал что знаю, но теперь я "знаю что ничего не знаю". Итак имелись
>> словарные статьи вида:
>>
>> WORD - SENTENCE
>>
>> и нужно проверить упорядоченость по алфавиту компоненты WORD. diff показал
>> "странный" результат. Помучился, пока не пришел к примеру:
>>
>> bash# LANG=C printf 'abc\na ba' | sort
>> a ba
>> abc
>> bash# LANG=C printf 'abc\na bd' | sort
>> abc
>> a bd
>>
>> Что ж, настало время почитать "исчники". Про поля я и не слыхал. Затем
>> осознал, что правильным решением для поставленой задачи является:
>>
>> bash# printf 'abc\na bd' | sort -k 1,1
>> a bd
>> abc
>>
> Я тут поспешил...
>
>> Но все же для меня осталось "запутанным" содержание:
>>
>> $ info coreutils 'sort invocation'
>>
>> Вопрос: можно ли как то указать sort сортировать так как считают "глупые"
>> пользователи, т.е. ord(SPACE) = 0x20 < ord([:alnum:]) и они полагают что sort
>> работает как в последнем примере?
>>
> Работая над постом, упустил что искомое - практическая задача. У меня не
> только отдельные слова, но фразы. Пример лучше томов обьяснения:
>
> $ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | sort
> a bit of - ZZZ
> a bit - YYY
> a - XXX
> b - AAA
>
> а надо:
>
> a - XXX
> a bit - YYY
> a bit of - ZZZ
> b - AAA
>
Получилось, обнаружил невнимательность в ходе своего экспериментирования:
$ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | LANG=C sort
a - XXX
a bit - YYY
a bit of - ZZZ
b - AAA
С LANG=ru_RU.UTF-8 sort работает как описано выше. Как можно жить с такими
"приколами"?
--
Best regards!
Reply to: