URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 78570
[ Назад ]

Исходное сообщение
"Увидел свет GNU Awk 4.0.0"

Отправлено opennews , 02-Июл-11 22:00 
После двух лет разработки и спустя десять лет после формирования прошлой стабильной ветки 3.1 представлен (http://lists.gnu.org/archive/html/info-gnu/2011-06/msg00013....) новый значительный релиз реализации языка программирования AWK от проекта GNU - Gawk 4.0.0 (http://www.gnu.org/software/gawk). Язык был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк AWK, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на длительную историю AWK до сих пор активно используется администраторами для выполнения рутинных работ, связанных с парсингом различного рода структурированных текстовых файлов и генерации несложной результирующей статистики.

В новой версии устранены некоторое слабые стороны Gawk и отражены в языке современные реалии. Из добавленных улучшений можно отметить:


-  Переработана внутренняя архитектура, проведена чистка кода...

URL: http://lists.gnu.org/archive/html/info-gnu/2011-06/msg00013....
Новость: http://www.opennet.me/opennews/art.shtml?num=31067


Содержание

Сообщения в этом обсуждении
"Увидел свет GNU Awk 4.0.0"
Отправлено анонимный аноним , 02-Июл-11 22:00 
> "Microsoft Compiler"

wtf?


"Увидел свет GNU Awk 4.0.0"
Отправлено Аноним , 02-Июл-11 22:36 
который в Visual Studio?

"Увидел свет GNU Awk 4.0.0"
Отправлено Аноно , 04-Июл-11 13:05 
Читай по ссылке, имеется ввиду Microsoft-версия GCC.

"Увидел свет GNU Awk 4.0.0"
Отправлено dq0s4y71 , 04-Июл-11 16:29 
Ты сам-то читал? Имеется ввиду сборка под МС-ДОС. Там, наверное, какой-нибудь древнючий Quick C был.

"Увидел свет GNU Awk 4.0.0"
Отправлено Аноно , 04-Июл-11 17:25 
В МС-ДОС нет поддержки IPv6,какой тогда ещё Quick C?

"Увидел свет GNU Awk 4.0.0"
Отправлено dq0s4y71 , 04-Июл-11 19:04 
Выпилина поддержка 16-битного МС-ДОС компилятора Microsoft C 7. А с тем, что в МС-ДОС нет поддержки IPv6, никто не спорит.

"Увидел свет GNU Awk 4.0.0"
Отправлено Аноним , 02-Июл-11 22:40 
> Поддержка IPv6;

Ничего так язык программирования :)


"Увидел свет GNU Awk 4.0.0"
Отправлено sdog , 03-Июл-11 00:57 
Поддержка IPv6;
???

"Увидел свет GNU Awk 4.0.0"
Отправлено pkunk , 03-Июл-11 01:29 
http://www.opennet.me/openforum/vsluhforumID3/74306.html#16

"Увидел свет GNU Awk 4.0.0"
Отправлено Vitold S , 03-Июл-11 01:00 
Ну осталось теперь дождаться портов для Apache и nginx и в принципе чем не язык...

"Увидел свет GNU Awk 4.0.0"
Отправлено rur , 03-Июл-11 11:10 
AWK - отличная штука!
Добавили бы еще нормальную функциональность с бинарными файлами,
цены бы не было.



"Увидел свет GNU Awk 4.0.0"
Отправлено northbear , 04-Июл-11 06:33 
Идея из серии: Если бы подводную лодку научить летать, цены бы ей не было...

awk - это классическая Unix-tools, которая делает что-то одно. но делает это очень хорошо. Не нужно ему бинарных файлов. И IPv6 ему совсем ни к чему. И вообще что это такое поддержка ipv6?


"Увидел свет GNU Awk 4.0.0"
Отправлено rur , 04-Июл-11 17:25 
Про подводную лодку: не в тему. ПЛ научить летать сложно. А добавить анализ бинарных файлов НЕ ТАК СЛОЖНО. Вот сейчас появился костыль: "Новая опция "--characters-as-bytes" ("-b")..." -- но это лишь костыль. А сделать надо удобнее.

"...которая делает что-то одно..." -- Ну, да... А что это, что-то одно?
Если анализ буквенных строк -- то слишком узко. Хотелось бы, чтобы это было просто
*анализ строк*, там, где и нон-аски байты можно обрабатывать аналогично аски-байтам.

А IPv6 действительно ни к чему.


"Увидел свет GNU Awk 4.0.0"
Отправлено PereresusNeVlezaetBuggy , 05-Июл-11 02:42 
> Про подводную лодку: не в тему. ПЛ научить летать сложно. А добавить
> анализ бинарных файлов НЕ ТАК СЛОЖНО.

Вот он, источник монстроидальных программ нашего времени, которые отпугивают своей навороченностью. Самый свежий пример из жизни:

Решил дома заморочиться и перевести бэкапы домашних тачек с самописных скриптов на Bacula. Как-то так вышло, что близко не общался до этих пор с этой системой, лишь издалека видел, надо ж заценить, чего её так коллеги хвалят. В общем, на изучение опций, въезжание в архитектуру, написание и отладку конфигов и проч. ушло две ночи. На те самые самописные скрипты (с ротейтом, сливающие данные по защищённому каналу, с инкрементными бэкапами, всё как полагается) ушла всего одна. А самое смешное, что суммарный размер _конфигов_ Bacula получился больше, чем размер этих самых скриптов. При том, что машин дома всего 4 (роутер, файлопомойка, десктоп, ноут).

Почему? Да потому что Bacula очень многое реализует, что реализовать «не так сложно». Не сложно с хостами самостоятельно соединяться, а не через тот же SSH. Не сложно сделать свой файлосниматель, а не использовать dump(8), под который уже заточены соответствующие части системы.

Не всё, что не сложно сделать, стоит делать. Кто против, пусть выбросится из окна повыше, это ведь совсем несложно, правда?

> Вот сейчас появился костыль: "Новая
> опция "--characters-as-bytes" ("-b")..." -- но это лишь костыль. А сделать надо
> удобнее.
> "...которая делает что-то одно..." -- Ну, да... А что это, что-то одно?

Например, фильтрует строки и выполняет указываемые в скрипте действия в зависимости от результатов фильтрации.

> Если анализ буквенных строк -- то слишком узко. Хотелось бы, чтобы это
> было просто
> *анализ строк*, там, где и нон-аски байты можно обрабатывать аналогично аски-байтам.

Их и сейчас можно обрабатывать. Выставляйте свои FS, RS и т.д. Если вам это не подходит, то вы просто не по адресу, ибо это означает, что у вас не строковые данные.

> А IPv6 действительно ни к чему.

Ну, положим, если уже есть /iner/, то добавление /inet6/ как раз логично.


"Увидел свет GNU Awk 4.0.0"
Отправлено rur , 05-Июл-11 09:49 
>> Если анализ буквенных строк -- то слишком узко. Хотелось бы, чтобы это
>> было просто
>> *анализ строк*, там, где и нон-аски байты можно обрабатывать аналогично аски-байтам.
> Их и сейчас можно обрабатывать. Выставляйте свои FS, RS и т.д. Если
> вам это не подходит, то вы просто не по адресу, ибо
> это означает, что у вас не строковые данные.

--- Скажите мне, что такое "строковые данные" ? -- это не придирка, а суть.
Лет сто назад ;) это считалось ASCII-с-CR-в-конце. У вас также?

--- Чтобы не ударяться в философию, рассмотрим пример, где AWK мог бы применяться, но сейчас это сделать сложно: файл *.gif начинается с букв "GIF", а потом идет инфо о картинке: размер, цвет и др. - бинарная. Это - заголовок файла. Почти "строковые данные".
Таких примеров много.


"Увидел свет GNU Awk 4.0.0"
Отправлено PereresusNeVlezaetBuggy , 05-Июл-11 10:43 
>>> Если анализ буквенных строк -- то слишком узко. Хотелось бы, чтобы это
>>> было просто
>>> *анализ строк*, там, где и нон-аски байты можно обрабатывать аналогично аски-байтам.
>> Их и сейчас можно обрабатывать. Выставляйте свои FS, RS и т.д. Если
>> вам это не подходит, то вы просто не по адресу, ибо
>> это означает, что у вас не строковые данные.
> --- Скажите мне, что такое "строковые данные" ? -- это не придирка,
> а суть.
> Лет сто назад ;) это считалось ASCII-с-CR-в-конце. У вас также?

Это в Си так считалось. Есть и другие, не менее древние языки. ;) Строка — одномерный набор последовательно расположенных однотипных элементов с заранее неизвестным их количеством. Количество элементов в строке может определяться либо отдельной сущностью (как строки в Pascal, например), либо терминатором (C), либо вообще и так, и сяк (Visual Basic). awk работает со строками с терминаторами.

> --- Чтобы не ударяться в философию, рассмотрим пример, где AWK мог бы
> применяться, но сейчас это сделать сложно: файл *.gif начинается с букв
> "GIF", а потом идет инфо о картинке: размер, цвет и др.
> - бинарная. Это - заголовок файла. Почти "строковые данные".
> Таких примеров много.

Не путайте «текстовые данные» и «строковые данные». В данном случае мы имеем упакованную структуру, а не набор строк. awk для обработки таких данных не предназначен. Вам надо что-то вроде pack/unpack() из Perl. Используйте подходящий инструмент, не надо плоскогубцами шурупы закручивать. :)


"Увидел свет GNU Awk 4.0.0"
Отправлено all_glory_to_the_hypnotoad , 05-Июл-11 11:08 
> Лет сто назад ;) это считалось ASCII-с-CR-в-конце. У вас также?

LF в православных ОС и CR + LF в протестантских.

> Чтобы не ударяться в философию, рассмотрим пример, где AWK мог бы применяться, но сейчас это сделать сложно: файл *.gif начинается с букв "GIF", а потом идет инфо о картинке: размер, цвет и др. - бинарная. Это - заголовок файла. Почти "строковые данные".

это совсем _не_ строковые данные. Чтобы парсить такие "строки" нужны совершенно другие инструменты и awk под это нормально не переделать. Может быть даже уже есть такие готовые инструменты, но они никогда не были так популярны как различного рода _строковые_ потоковые редакторы.


"Увидел свет GNU Awk 4.0.0"
Отправлено gegMOPO4 , 05-Июл-11 11:23 
>> Лет сто назад ;) это считалось ASCII-с-CR-в-конце. У вас также?
> LF в православных ОС и CR + LF в протестантских.

Вообще-то, CRLF для обозначения конца строки старше LF. Это в Unix и Apple решили байтик сэкономить (и упростить программирование).


"Увидел свет GNU Awk 4.0.0"
Отправлено Антоним , 05-Июл-11 20:02 
Ну хорошо, пусть будет CRLF в старообрядных ОС. Да, так даже лучше подходит для маразма времён пиш. машинок.


"Увидел свет GNU Awk 4.0.0"
Отправлено Белая рысь , 08-Июл-11 19:25 
Это у вас-то с вашими демонами и зомби православная система?! Богохульцы!

"Увидел свет GNU Awk 4.0.0"
Отправлено all_glory_to_the_hypnotoad , 05-Июл-11 10:07 
amanda должна вам понравится. Хотя для ваших задач вообще не нужна система такого типа, подойдёт что-то проще типа backuppc

"Увидел свет GNU Awk 4.0.0"
Отправлено PereresusNeVlezaetBuggy , 05-Июл-11 10:45 
> amanda должна вам понравится. Хотя для ваших задач вообще не нужна система
> такого типа, подойдёт что-то проще типа backuppc

Про Аманду знаю, она уже на очереди; backuppc ещё не рассматривал, спасибо. :) Обзор что ли подготовить. :))) Если руки дойдут, конечно, а не как обычно...


"Увидел свет GNU Awk 4.0.0"
Отправлено all_glory_to_the_hypnotoad , 05-Июл-11 10:05 
в (g)awk  нет ни одного инструмента для работы с бинарными данными. И его архитектура не позволяет это сделать не через задницу.

> Вот сейчас появился костыль: "Новая опция "--characters-as-bytes" ("-b")..." -- но это лишь костыль. А сделать надо удобнее.

это только для устранения влияния локали на парсинг строк, т.е. ещё один костыль для утилиты которая не знает что такое различные кодировки.


"Увидел свет GNU Awk 4.0.0"
Отправлено rur , 05-Июл-11 10:49 
> в (g)awk  нет ни одного инструмента для работы с бинарными данными.
> И его архитектура не позволяет это сделать не через задницу.

--- Именно об этом речь!
Есть масса примеров, где в строках и буквы и не-буквы. Если заточить
под это АВК - цены ему не будет, ибо он в сто раз проще перла, но практически
такой же по возможностям.


"Увидел свет GNU Awk 4.0.0"
Отправлено gegMOPO4 , 05-Июл-11 11:26 
> Есть масса примеров, где в строках и буквы и не-буквы. Если заточить
> под это АВК - цены ему не будет,

У меня awk прекрасно парсит логи, содержащие не-буквы (ANSI-последовательности для цветов). Я что-то делаю не так?


"Увидел свет GNU Awk 4.0.0"
Отправлено Andrey Mitrofanov , 05-Июл-11 12:42 
> парсит логи, содержащие не-буквы (ANSI-последовательности для цветов).
> Я что-то делаю не так?

Один байт (ESC) в тексе читать/парсить/писать не мудрено, а вот uint32 какой-нибудь... Ну, там заголовки ip пакетов или бинарники типа ELF, например. "Слегка" неудобно, скажем.

И да, понятно, что этот инструмент не для этой задачи.


"Увидел свет GNU Awk 4.0.0"
Отправлено gegMOPO4 , 05-Июл-11 11:18 
> Вот сейчас появился костыль: "Новая
> опция "--characters-as-bytes" ("-b")..." -- но это лишь костыль. А сделать надо
> удобнее.

Эта опция на самом деле не нужна. LANG=C — и вперёд.

> Если анализ буквенных строк -- то слишком узко. Хотелось бы, чтобы это
> было просто
> *анализ строк*, там, где и нон-аски байты можно обрабатывать аналогично аски-байтам.

А сейчас что мешает?


"Увидел свет GNU Awk 4.0.0"
Отправлено gegMOPO4 , 05-Июл-11 11:15 
Для бинарных данных есть Sawzall (http://www.opennet.me/opennews/art.shtml?num=28590).

"Увидел свет GNU Awk 4.0.0"
Отправлено all_glory_to_the_hypnotoad , 03-Июл-11 12:17 
> Отладчик dgawk, напоминающий в процессе работы на GDB;

какой-то фетиш нездоровый пошёл


"Увидел свет GNU Awk 4.0.0"
Отправлено terr0rist , 04-Июл-11 12:27 
Осталось только mod_gawk для апача, ООП, lib_stdgawk++ - и вперёд, заменим гавком С, Жаву, Перл, Винни-Пуха и всех-всех-всех.

"Увидел свет GNU Awk 4.0.0"
Отправлено vle , 04-Июл-11 21:16 
Если кому интересно, гляньте сюда

http://sourceforge.net/projects/runawk

Система модулей для awk-а (портабельная, для всех awk-ов)
плюс ~50 модулей-полезняшек,
включая волшебный обработчик опций power_getopt.awk.