vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Ненавижу локале-специфичную сортировку. Теперь для того, чтобы объединить в кучку несколько файлов, так чтобы файл 04.something.txt оказался перед 041.otherthing.txt нужно писать

cat `LC_COLLATE=C ls *.txt` 

вместо
 cat *.txt

Date: 2018-06-01 09:20 am (UTC)
livelight: (Default)
From: [personal profile] livelight
Повторю: я не уверен, что дело именно в точке. Венда уже давно весьма чудными путями сортирует файлы, в именах которых встречаются последовательности цифр, и тут может быть та же фигня.

Date: 2018-06-01 02:00 pm (UTC)
From: [personal profile] sur_kg
Сортирует, скорее всего, не венда, а файловый менеджер.

Date: 2018-06-01 02:09 pm (UTC)
livelight: (Default)
From: [personal profile] livelight
А там сортирует не Юникс, а программа ls или bash.
Не суть.
Edited Date: 2018-06-01 02:09 pm (UTC)

Date: 2018-06-01 03:56 pm (UTC)
avnik: (Default)
From: [personal profile] avnik
А там вообще по позиксу положена сортировка, или это implementation specific, и сортируют не все (и местами "естественный" порядок с FS просвечивает)

Date: 2018-06-01 09:23 am (UTC)
kuzmax: (Default)
From: [personal profile] kuzmax
Махровая цензура?

Date: 2018-06-01 10:12 am (UTC)
ext_1480035: (pic#5377362)
From: [identity profile] self-perfection.ya.ru
А может быть вам version sort нужен?
cat `ls -v *.txt`

Date: 2018-06-01 11:48 am (UTC)
p_govorun: (Default)
From: [personal profile] p_govorun
Погуглил. У чехов ещё круче:
$ LC_ALL=cs_CZ.UTF-8 bash -c 'echo *'
log0Ah log0Bh log0Dh log0Ch


(Там ch -- это как особая буква.)
Edited Date: 2018-06-01 11:50 am (UTC)

Date: 2018-06-09 10:07 am (UTC)
p_govorun: (Default)
From: [personal profile] p_govorun
Space посреди слова? Это как-то неправильно.

Date: 2018-06-01 03:18 pm (UTC)
filin: (Default)
From: [personal profile] filin
Зачем же ненавидеть локале-специфичную сортировку вообще? Ненавидеть надо не подходящее к ситуации ее применение.

И то, в общем, я бы и в этой ситуации предпочел, чтобы ежи, ёлки и палки сортировались именно так, а не

zsh% echo *
ежи палки ёлки

Date: 2018-06-02 07:18 am (UTC)
livelight: (Default)
From: [personal profile] livelight
Насколько я помню, в старом добром досе ёж бы уполз в конец из-за особенностей 866 кодировки. А русскую букву "х" в начале имени файла можно было бы поставить только через disk edit, с очень забавным результатом.
Edited Date: 2018-06-02 07:20 am (UTC)

Date: 2018-06-02 03:01 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Файловая система DOS’а была регистронезависимая, поэтому при правильно настроенной локали смысла в маленькой букве «х» не было. Другое дело, что локаль была правильно настроена далеко не у всех, потому что никаких сколько-нибудь заметных преимуществ это не давало.

А эффект был такой, что файл пропадал из листинга каталога, но цепочка кластеров оставалась неосвобождённой. Сборщик мусора chkdsk (позже — scandisk) на это ругался и предлагал либо восстановить, либо удалить совсем.

Алсо, в Unicode буква Ё тоже находится где попало по отношению к остальному алфавиту, и ёж точно так же уползает при сортировке по кодпоинтам или значениям байтов.

Date: 2018-06-02 07:36 pm (UTC)
livelight: (Default)
From: [personal profile] livelight
Если говорить про MS-DOS 7.0 (которая была частью Windows 95 и немного умела в LFN), то там могли что-то более хитрое сделать с регистронезависимостью, а у более ранних версий она была очень простая: латинские буквы переводились в верхний регистр, а остальные или обрабатывались особым образом (0x00, 0x20, 0xE5 = "х"), или просто запрещались, или оставлялись без изменений, причём кириллические буквы распределились по всем трём категориям.

Date: 2018-06-03 05:59 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan
Вот это как раз симптом ненастроенной локали. При наличии в config.sys строчки country=007,866,путь\к\country.sys кириллица тоже апперкейсилась. Если мне не изменяет память.

Date: 2018-06-03 09:28 pm (UTC)
From: [personal profile] z3vv5yqifqx6
А уж как обидно было узнать про F3 году так в 2001 из случайно посмотренной книжки по ассемблеру…

Кажется, я читал (когда пользовался MSDOS 6.22) две книжки по DOS, но ни одна это не упоминала.

Date: 2018-06-09 11:04 am (UTC)
From: [personal profile] z3vv5yqifqx6
На русском языке были все три, причём насколько я помню, первые две были переводными (и одна из двух довольно подробная и объёмная).

(все три покупал не я, авторов и точные названия тоже не помню)

Date: 2018-06-09 11:25 am (UTC)
From: [personal profile] z3vv5yqifqx6
Про отставание не знаю, но ляпов, мне кажется, в толстой и подробной книжке не попадалось. Отставание могло быть не так заметно просто из-за того, что к моменту появления дома компьютера всё как раз устаканилось на MS-DOS 6.x…

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

March 2026

S M T W T F S
1 2 34567
8 910 1112 13 14
15 1617181920 21
22 23 24 25 2627 28
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 29th, 2026 01:07 pm
Powered by Dreamwidth Studios