LINUX.ORG.RU

Вышел GNU Awk 5.0.0

 , ,


5

4

Через год после выхода GNU Awk версии 4.2.1 состоялся релиз версии 5.0.0.

В новой версии:

  • Была добавлена поддержка форматов printf %a и %A из POSIX.
  • Улучшена тестовая инфраструктура. Упрощено содержимое test/Makefile.am и теперь можно генерировать pc/Makefile.tst из test/Makefile.in.
  • Regex процедуры были заменены на процедуры из GNULIB.
  • Обновлена инфраструктура: Bison 3.3, Automake 1.16.1, Gettext 0.19.8.1, makeinfo 6.5.
  • Недокументированные конфигурационные опции и соответствующий код, которые позволяли использовать в идентификаторах буквы не из латиницы, были удалены.
  • Конфигурационная опция "--with-whiny-user-strftime" была удалена.
  • Код теперь делает более строгие предположения об окружении C99.
  • PROCINFO["platform"]
    теперь выводит платформу под которую был собран GNU Awk.
  • Запись элементов, которые не являются именами переменных, в SYMTAB теперь приводит к фатальной ошибке. Это изменение поведения.
  • Обработка комментариев в pretty-printer'е была переработана почти полностью с нуля. В итоге теперь меньше комментариев теряется.
  • Введены пространства имён. Теперь больше нельзя делать так:
    gawk -e 'BEGIN {' -e 'print "hello" }'
    .
  • GNU Awk теперь учитывает локаль при игнорировании регистра в однобайтных локалях вместо захардкоженного варианта Latin-1.
  • Устранена куча багов.

>>> Скачать

★★★★★

Проверено: Shaman007 ()

Поздравляю авторов проекта и форумчан лора с юбилейным выпуском. Этот GAWK до того удобен, что мне лень переползать с него на перловские однострочники, хотя в общем-то уже пора это делать.

Infra_HDC ★★★★★ ()
Последнее исправление: Infra_HDC (всего исправлений: 1)

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

Мда. Все utfщики со свистом пролетают. То ли дело кои - обрезал старший бит и нормуль.

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

Зачем тебе эти awkостыли, когда есть ansi C?

Для скриптов где C удобнее всего у меня есть чудесный tcc. AWK замечаетелен когда sed'а немного не хватает, а перл уже перебор.

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

Тормозилище. Напрасная трата ресурсов на неоптимизированный код.

А что, gcc уже научился так:

#!/usr/bin/tcc -run

#include <stdio.h>

main()
{
  printf("Hello world!\n");
}

???

Не, я может чо пропустил, и уже и с gcc так можно...

Stanson ★★★★★ ()
Последнее исправление: Stanson (всего исправлений: 2)

Код теперь делает более строгие предположения об окружении C99

И как это перевести? Теперь для сборки обязателен 99?

anonymous ()

Смена версии мажорная, а список изменений минорный.

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

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

Есть много задач, где надо просто разобрать строки одним большим регулярным выражением, напр. лог типа ^(..\...\...) (..:..:..): ([a-z]+): (.+)$ где $1 дата, $2 будет время, $3 слово и $4 сообщение.

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

А на работе ты на фортране пишешь? Или пока на алголе, но пора бы уже на фортран переходить?

Ты что, какой фортран? Давно уже все на COBOL перешли.

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

Кого-то забанили в Википедии?

AWK — C-подобный скриптовый язык построчного разбора и обработки входного потока (например, текстового файла) по заданным шаблонам (регулярным выражениям). Может использоваться в сценариях командной строки.

Название AWK складывается из инициалов разработчиков языка: Alfred V. Aho, Peter J. Weinberger[en] и Brian W. Kernighan. Первая версия AWK была написана в 1977 году в AT&T Bell Laboratories.

https://ru.wikipedia.org/wiki/AWK

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

Я изначально отвечал на вопрос умеет ли FS в регексп Не было такого вопроса.

Ответ на твой вопрос - match()

Да, но это не так удобно, хочется пользоваться обычными переменными $1 $2 и т.д.

legolegs ★★★★★ ()