ALT Linux Community general discussions
 help / color / mirror / Atom feed
* Re: [Comm] Неправильная сортировка в консоли?
  @ 2006-10-13 12:26 ` Sergey Stepanov
  2006-10-13 12:36   ` Denis G. Samsonenko
  0 siblings, 1 reply; 2+ messages in thread
From: Sergey Stepanov @ 2006-10-13 12:26 UTC (permalink / raw)
  To: Denis G.Samsonenko; +Cc: ALT Linux Community


> Вам же выше уже написали в сообщении, на которое вы отвечаете, что
> чтобы изменения вами переменной LC_COLLATE (как и любой другой) дошли
> до дочернего процесса, необходимо выполнять не просто "LC_COLLATE=C",
> а "export LC_COLLATE=C". Или пускать вашу ls так:
> 
> ...]$ LC_COLLATE=C ls -1
> 
> Так что таки читать надо что-нибудь по shell (bash), а не про
> локализацию, чтобы понимать, как устанавливать переменные окружения
> среды.

Хорошо. Предположим, мы уже умеем выставлять любую переменную
в любое нужное значение в среде.

Напоминаю исходный вопрос, который мы забыли в ходе обсуждения.


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

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

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


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



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Comm] Неправильная сортировка в консоли?
  2006-10-13 12:26 ` [Comm] Неправильная сортировка в консоли? Sergey Stepanov
@ 2006-10-13 12:36   ` Denis G. Samsonenko
  0 siblings, 0 replies; 2+ messages in thread
From: Denis G. Samsonenko @ 2006-10-13 12:36 UTC (permalink / raw)
  To: community

Вечер добрый!

13.10.06, Sergey Stepanov написал:
> Если LC_COLLATE не выставлено как C, то алгоритм сортировки
> при обработке строк пропускает небуквенные символы.
> Поэтому сортировка "неправильная". Зато по русскому алфавиту.
>
> Если LC_COLLATE=C то строки сортируются в чистом виде,
> не сбрасывая со счетов небуквенные символы. Сортировка
> в этом случае "правильная". Но зато не по русскому алфавиту.
>
> Вопрос. Как же сделать так, чтобы и сортировка шла по алфавиту,
> и "небуквенные" символы учитывались при сортировке?

Интересный вопрос. А каков критерий правильности? На сколько я
понимаю, при локали C, сортирующий механизм ничего не знает о буквах,
и сотрирует согласно кодам символов в ASCII. Когда же вы
устанавливаете локаль в отличное от C значение, то сортировка идёт в
том порядке, в котором это указано в данной локали. И тут уже
сортируются с буквы, а не коды символов. Вероятно, как сортировать
небуквенные символы просто не задано. Да и не понятно, как их
сортировать, каков должен быть порядок, должны они идти до букв или
после, а может часть до, а часть после?  Каков критерий этой вашей
"правильности"?

-- 
Всего доброго,

Денис.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-13 12:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-13 12:26 ` [Comm] Неправильная сортировка в консоли? Sergey Stepanov
2006-10-13 12:36   ` Denis G. Samsonenko

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