LINUX.ORG.RU

Вышел GNU Awk 5.0.0

 , ,


6

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 ()
Ответ на: комментарий от Stanson

говножабоскрипт в электроне, обмазанный десятком фреймворков же

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

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

awk же в первую очередь нужен для парсинга текста в bash-скриптах.

То есть не нужен. Как и bash-скрипты.

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

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

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

Stanson ★★★★★ ()

Введены пространства имён. Теперь больше нельзя делать так: gawk -e 'BEGIN {' -e 'print "hello" }'

Ну вот зачем?

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

А причем тут електрон и фреймворки в контексте обсужденияиread-only текстоковывялок. Тогда уж с nodejs сравнивать

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

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

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

#!/usr/bin/tcc -run

#include <stdio.h>

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

???

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

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

То есть не нужен. Как и bash-скрипты.

Тебе или всем не нужен? Ты вот мне тоже не нужен. Уходи.

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

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

anonymous ()

GNU творит добро в нашем убогом мире.

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

Perl в 2019 стал парсить текст гораздо хуже чем в 2009 потому что... потому что... хипсторы ещё не придумали почему, но хуже, инфа 146%.

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

Perl в 2019? Серьезно?

Да он еще твоих внуков переживет! Чертовский удобный скриптовый язык, всякие питоны и пхп рядом не стояли.

anonymous ()

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

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

anonymous ()

угадал автора по заголовку

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

Подробностей в Changelog'е нет. Всё, что там написано, это вот это:

The code now makes some stronger assumptions about a C99 environment.

saahriktu ★★★★★ ()

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

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

legolegs ★★★★★ ()
Ответ на: комментарий от te111011010
$ sudo rm -f /bin/bash
-sh: sudo: not found
$ rm /bin/bash
rm: can't remove '/bin/bash': No such file or directory
EXL ★★★★★ ()

Годнота то какая! Спасибо за новость. Давно пользуюсь. Однозначно нужно!

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

всякие питоны и пхп рядом не стояли.

Ты за словами следи! © Сильвестр Сталлоне
И за калориями тоже! © Чак Норис

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

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

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

Аааа... Ну навероное эти задачи не для авк.

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

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

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

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

Подтверждаю. Я пробовали питон в качестве такого вот скрипт-языка для поделок, но нет, до perl ему далеко...

beck ★★ ()

Shaman007, а правильность тегов кто проверять будет? Они поехавшие :p

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

Не, это для каждого поля в отдельности, а не для всей строки целиком.

legolegs ★★★★★ ()
Ответ на: комментарий от 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 - (регэксп или текст) это, что МЕЖДУ настоящими данными, это то что ты выбросишь. Я постил выше пример.

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

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

Ответ на твой вопрос - match(), в сабже имеет последний выходной аргумент - массив

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

Да. А что тебя удивляет? Может быть ещё на bash в 2019 удивишься?

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

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

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

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

legolegs ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.