[mdk-re] `sort` behaves not as expected (not as strcmp() would)
Aleksey Novodvorsky
=?iso-8859-1?q?aen_=CE=C1_logic=2Eru?=
Пн Окт 1 16:14:14 MSD 2001
HB wrote:
> Я столкнулся с тем, что не понимаю, как сортирует sort, и как заставить
> его сортировать так, как это сделал бы strcmp(). Разумеется, я читал
> `man sort`, но это не только не помогло, но создало впечатление, что
> работа sort происходит не так, как там описано :-(
>
> $ cat file
> a
> *b
> *d
> c
> $ sort file
> a
> *b
> c
> *d
>
> Похоже на то, что при сортировке игнорируются все non-alphanumeric (?)
> символы. Кусок из `man sort`, говорящий (AFAI understood) об обратном,
> прилагается ниже.
>
> А хотелось бы получить такую сортировку:
>
> $ perl -we 'print sort <>' file
> *b
> *d
> a
> c
>
> /* Разумеется, использовать для этого Perl -- это не метод. */
> Выдержка из `man sort`:
>
> Finally, as a last resort when all keys compare equal (or
> if no ordering options were specified at all), sort com-
> pares the lines byte by byte in machine collating sequence
> instead of LC_COLLATE.
>
Пользуйтесь info, man всегда старее.
Не помню уж с какой версии, но относительно недавно sort стал учитывать
LC_COLLATE.
$ LC_COLLATE=C sort file
спасет.
Rgrds, AEN
Подробная информация о списке рассылки community