LINUX.ORG.RU
ФорумTalks

Вот все упоминают unixway, а я его не нашел в sort


0

2
r@r ~ % python -c "for i in range(1,10): print \"%s %i\"%('#' if i%2 else ' ',i)"|sort
# 1
  2
# 3
  4
# 5
  6
# 7
  8
# 9
r@r ~ % python -c "for i in range(1,10): print \"%s %i\"%('a' if i%2 else ' ',i)"|sort
  2
  4
  6
  8
a 1
a 3
a 5
a 7
a 9

Господа хорошие, как можно ругать новые технологии, если в одной из самых старых утилит такой телепатический трындец?

Deleted

GNU-сная утилитка, небось?

$ python2.7 -c "for i in range(1,10): print \"%s %i\"%('#' if i%2 else ' ',i)"|sort
  2
  4
  6
  8
# 1
# 3
# 5
# 7
# 9
$ python2.7 -c "for i in range(1,10): print \"%s %i\"%('a' if i%2 else ' ',i)"|sort 
  2
  4
  6
  8
a 1
a 3
a 5
a 7
a 9

takino ★★★★★
()
Ответ на: RTFM! от Deleted

4.2

очевидное поведение по умолчанию

  2
  4
  6
  8
# 1
# 3
# 5
# 7
# 9

всякие -k ненужны

Deleted
()
Ответ на: комментарий от takino
 sort --version
sort (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl.html>
Это свободное ПО: вы можете продавать и распространять его.
Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.

Авторы программы -- Mike Haertel и Paul Eggert.

вот эти дяди с большими ушами

Deleted
()
Ответ на: комментарий от takino

мне ненравится интеллектуальный онализ, поэтому я и свалил с венды - что там думают за пользователя, а тут такое, я перестаю верить в человечество

Deleted
()
Ответ на: комментарий от Deleted

он не умеет свою версию писать вообще.

takino ★★★★★
()
Ответ на: комментарий от Deleted

python -c «for i in range(1,10): print \»%s %i\«%('#' if i%2 else ' ',i)»| LANG=C sort

  2
  4
  6
  8
# 1
# 3
# 5
# 7
# 9
Просто линукс умеет UTF-8 в отличии от разных BSD

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)
Ответ на: комментарий от Deleted

RTFM же, ну!

       *** WARNING *** The locale specified by the environment affects sort order.  Set LC_ALL=C to get the traditional sort order that uses native byte values.
$ python -c "for i in range(1,10): print \"%s %i\"%('#' if i%2 else ' ',i)" | LANG=en_US.UTF-8 sort
# 1
  2
# 3
  4
# 5
  6
# 7
  8
# 9

$ python -c "for i in range(1,10): print \"%s %i\"%('#' if i%2 else ' ',i)" | LANG=C sort
  2
  4
  6
  8
# 1
# 3
# 5
# 7
# 9

«Natural sort», шоб его тудыть! Ну или можно явно сказать сорту "-n", чтобы он не считал себя умнее тебя =).

Deleted
()
Ответ на: RTFM же, ну! от Deleted

RTFM же, ну!

это какой наркотой нужно закинуться чтобы осознать что в UTF оно игнорирует # а? Наверное только той которой закинулись разрабы собравшие локаль, тот я смотрю в директориях сортировка в последнее время ignorecase и кириллица идет первой, когоб наказать за такое.

Deleted
()
Ответ на: комментарий от Deleted

что в UTF оно игнорирует #

Оно не игнорирует. Просто # и ' ' имеют одинаковый порядок сортировки, как и другие спецсимволы. А с чего ты взял, что должно быть по другому? Из устройства кодировок, которые не UTF-8? Ну ты понял.

goingUp ★★★★★
()
Ответ на: комментарий от Deleted

ШОК ФОТО UTF8

$ env|grep LC && python2.7 -c "for i in range(1,10): print \"%s %i\"%('#' if i%2 else ' ',i)"|sort
LC_ALL=en_US.UTF-8
  2
  4
  6
  8
# 1
# 3
# 5
# 7
# 9
$ 
takino ★★★★★
()
Последнее исправление: takino (всего исправлений: 1)
Ответ на: комментарий от goingUp

А с чего ты взял, что должно быть по другому?

с того, что чудик, первый байт '#' или ' ' - а все остальное идет за ними, и любое другое поведение есть проявление шизофрении.

Deleted
()
Ответ на: комментарий от Deleted

Вообще даже в POSIXе написано, что поведение sort зависит от текущей локали и настроек локали. Так что претензии можешь сразу туда отправлять.

Deleted
()
Ответ на: комментарий от Deleted

Ничего не имею против, пусть зависит, но логично зависит. Даже переживу если игнорировать регистр, но приравнивать пробел к символу это трындец.

Deleted
()
Ответ на: комментарий от goingUp

Меня и уникод устраивал до недавнего апдейта в дебьяне (фикс: это апдейт dolphin - галочка «правильная сортировка по номерам» косячит), кроме того Вот все упоминают unixway, а я его не нашел в sort (комментарий) - кое где все нормально работает

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Смотря где находится ноль в текущей системе координат относительно той, где 2=2

upcFrost ★★★★★
()

sort --version

*** WARNING ***
The locale specified by the environment affects sort order.
Set LC_ALL=C to get the traditional sort order that uses
native byte values.
Вроде оно.

windusjatnik
()
Ответ на: комментарий от nebm51

Да хоть два Пайка, униксвей уже давно не актуален. Как только в Юниксе появился IP --- всё, конец, забудь о нём.

pony
()
Ответ на: комментарий от Deleted

Считай что 2=5, фига ли там.

А чего нет? Отношение эквивалентности — это любое рефлексивное, транзитивное и симметричное отношение.

Поэтому если, например, n = n + 3 * m (где n, m — нат. числа), то 2 = 5. При этом 2 != 4.

proud_anon ★★★★★
()
Ответ на: комментарий от pony

Да хоть два Пайка, униксвей уже давно не актуален. Как только в Юниксе появился IP --- всё, конец, забудь о нём.

Да придет к тебе зверь обоснуй

nebm51
()
Ответ на: комментарий от Deleted

А с чего ты взял, что должно быть по другому?

с того, что чудик

Осторожнее с запятыми!

Binary ★★★★★
()
Ответ на: комментарий от nebm51

Покажи мне /dev/tcp за пределами bash/ksh и потомков. И заодно объясни, почему cat . сейчас не работает.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.