?

Log in

стандарты (программистское, Юникс) - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

стандарты (программистское, Юникс) [сент. 18, 2003|03:00 pm]
Anatoly Vorobey
Вот, пишут:
The new GNU coreutils does not anymore accept head/tail -N where N is the amount of lines. New syntax enforces head/tail -n N.

А почему? Потому что POSIX так диктует. А то, что это сломает тысячи и десятки тысяч скриптов на разных системах, и бесчисленное количество людей, включая меня, заставит переучивать пальцы и инстинкты, а также тратить лишние три нажатия кнопок на бесчисленные и бессмысленные "-n " - на это им наплевать.

Die stupid POSIX, die!

Буду писать 'sed 1q' итп. им назло.
СсылкаОтветить

Comments:
From: 9000
2003-09-18 05:05 am
Всю жизнь писал -n :-)
Лучше стандарты, чем, как в перле, "magic variables work as you expect unless you expect consistency". Die, stupid 'magic', die! ;-)
(Ответить) (Thread)
[User Picture]From: avva
2003-09-18 05:06 am
Что им стоило оставить -N работающим тоже? В каком месте свербило? На этот вопрос отвечать не надо, я и сам знаю, в каком ;)
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2003-09-18 05:06 am
Да бог ты мой, делов-то

> cd /usr/bin
> mv head head_org
> mv tail tail_org
> cat > head
#!/bin/sh
head_org -n ${1}
^D
> cat > tail
#!/bin/sh
tail_org -n ${1}
^D
(Ответить) (Thread)
[User Picture]From: avva
2003-09-18 05:07 am

Нет, так просто они не отделаются. 'sed 1q' форэвэр!
(Ответить) (Parent) (Thread)
[User Picture]From: mbravo
2003-09-18 05:13 am
Забыли

chmod 755 head tail

:)
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2003-09-18 05:13 am
Ха! А может это у меня такой umask? :)
(Ответить) (Parent) (Thread)
[User Picture]From: mbravo
2003-09-18 05:40 am
"не верю!" (с)

кто ж делает такие umask-и :) с a+x
так можно быстро домаксироваться до неприятностей :)
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2003-09-18 05:42 am
Ясный пень! Это был гипотетический umask :)
(Ответить) (Parent) (Thread)
[User Picture]From: pishi_chitai
2003-09-18 05:14 am
Я тоже всю жизнь писал -n N. Не думаю, что на это много завязано. В любом случае, тут глупо выглядит не POSIX, а GNU .-)
(Ответить) (Thread)
[User Picture]From: sobaker
2003-09-18 05:35 am
И правда, жалко старых-привычных tail -100

Впрочем, в BSD/Solaris/etc они еще долго будут работать, мне кажется :) Это Linux впереди планеты всей.
(Ответить) (Thread)
[User Picture]From: avva
2003-09-18 05:37 am
Да, но я-то теперь на Линуксе как раз! ;)

Прямо хоть coreutils не апгрейдь. Или проапгрейдю, залезу в исходники и руками злобно сверну шею этому изменению ;)
(Ответить) (Parent) (Thread)
[User Picture]From: avnik
2003-09-18 06:28 am
NetBSD повволяет -[0-9], но в man этого нету - видимо оно таки deprecated

Проверял в NetBSD/current
(Ответить) (Parent) (Thread)
[User Picture]From: sobaker
2003-09-18 06:36 am
Посмотрите в секции STANDARDS что-нибудь вроде "The historic command line syntax of tail is supported by this implementation" :)
(Ответить) (Parent) (Thread)
[User Picture]From: avnik
2003-09-18 06:44 am
Уели ;)

Только секция называется COMPATIBILITY
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2003-09-18 03:04 pm
Я сначала это прочитал небрежно как "The heroic command line syntax of tail is supported..." ;-)
(Ответить) (Parent) (Thread)
From: ex_ilyavinar899
2003-09-18 10:54 am
В таком случае не смей жаловаться на то, что Windows XP совместима с CP/M (например, поддерживает формат исполнимых файлов .COM).
(Ответить) (Thread)
From: oblomov_jerusal
2003-09-18 02:09 pm
Не знаю, как в XP, а в DOS для совместимости с CP/M можно было вызвать системную функцию вместо INT 21h переходом на какой-то адрес в PCB (program control block, первые 256 байт памяти, выделенной программе). Я когда-то занимался дизассемблированием вирусов для разработки антивируса, некоторые вирусы пользовались этим.
(Ответить) (Parent) (Thread)
[User Picture]From: tejblum
2003-09-18 03:02 pm

а также тратить лишние три нажатия кнопок на бесчисленные и бессмысленные "-n "

Пробел после "-n" писать необязательно.
(Ответить) (Thread)
[User Picture]From: avva
2003-09-18 03:06 pm
Ну, это уже извращение ;)
(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-18 05:50 pm

А ссылочку можно?

А ссылочку можно?
Спасибо.
(Ответить) (Thread)
From: ex_ilyavinar899
2003-09-19 12:43 pm
kill -9 нужно таких разработчиков!
(Ответить) (Thread)