ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Sergey Stepanov <dlagovna@mail.ru>
To: ALT Linux Community <community@lists.altlinux.org>
Subject: Re: [Comm] Неправильная сортировка в консоли?
Date: Thu, 12 Oct 2006 17:36:02 +0400
Message-ID: <E1GY0jC-0004HG-00.dlagovna-mail-ru@f74.mail.ru> (raw)
In-Reply-To: =?koi8-r?Q?<20061012095929.0fd08cb1.cetus=40newmail.ru>?=


> On Thu, 12 Oct 2006 00:13:38 +0400
> "Damir Shayhutdinov" <lost404@gmail.com> wrote:
> 
> > > Объясните пожалуйста, почему так происходит.
> > > Вопрос: в чем причина неправильной сортировки? Как исправить?
> > Это настройки локали (LC_COLLATE)
> > 
> > Если сделать LC_COLLATE=C ls -1
> > то получится как в винде.
> 
> $ ls -1
> _
> а
> А
> аа
> а_а
> аб
> а_б
> аф
> а_ф
> аш
> а_ш
> б
> Б
> в
> г
> д
...

> $ LC_COLLATE=C ls -1
> _
> ё
> ю
> а
> а_а
> а_б
> а_ф
> а_ш
> аа
> аб
> аф
> аш
> б
> ц
> д
> е
> ф
> г
> ...
> Китайкин Анатолий Константинович
> ОАО "Радиоавионика", СПб
> _______________________________________________
> Community mailing list
> Community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community

Хм, в первом примере алгоритм сортировки, при обработке
строк, пропускает "небуквенные" символы. Поэтому сортировка
такая странная. Зато по русскому алфавиту.

Во втором примере строки сортируются в чистом виде, 
не сбрасывая со счетов "небуквенные" символы. Сортировка
в этом случае правильная. Но зато не по русскому алфавиту.

Как же сделать так, чтобы и сортировка шла по алфавиту,
и "небуквенные" символы учитывались при сортировке?


И еще пара вопросов.

1.
Пошукал в тырнете на предмет допустимых значений, которые 
может принимать системная переменная LC_COLLATE. Нигде этого
не описано. Подозреваю что допустимые значения - это
вывод команды locale -a, там в списке есть "C". Так ли это?

2.
Я даю команду 

#LC_COLLATE=C 

Проверяю 

#set | grep LC_COLLATE

Все в порядке, переменная LC_COLLATE имеет значение C.

Затем даю команду 

#locale 

В выводимом списке значение переменной LC_COLLATE установлено
как "ru_RU.KOI8-R"

Я не пойму, это две разных переменных с одинаковым именем?


Со всяческими пожеланиями, Сергей.
http://xi.net.ru



       reply	other threads:[~2006-10-12 13:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-12 13:36 ` Sergey Stepanov [this message]
2006-10-12 13:41   ` Damir Shayhutdinov
2006-10-12 17:01     ` Pavel Usischev
2006-10-12 17:32       ` Damir Shayhutdinov
2006-10-12 18:10         ` Pavel Usischev
2006-10-12 18:11         ` Evgenii Terechkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1GY0jC-0004HG-00.dlagovna-mail-ru@f74.mail.ru \
    --to=dlagovna@mail.ru \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git