[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