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 ()
Последнее исправление: Shaman007 (всего исправлений: 1)

Невнятный язык. До сих пор не могу понять, зачем его сделали.

вместо захардкоженного варианта Latin-1.

круто для языка с 30-летней историей развития...

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

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

Да, для сборки нужно прыгать в машину времени и перемещаться в 1999-й год.

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

Только при этом perl может на порядок больше.

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

Так вот что означают эти циферки в обозначениях стандартов )

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

В этом и проблема, он болтается между Perl и sed и толком не знаешь какой инструмент лучше выбрать

anonymous
()

*судорожно ищет манагера, выучившего баззворд powershell с целью подрыва ануса

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

Используешь sed, осваиваешь его почти полностью, переходишь на awk, углубляешься в него, его становится недостаточно, переходишь на perl.

Таков путь восхождения к вершинам подводных глубин песчаных пустынь :)

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

со времён оригинального AWK. RS, кстати, тоже

If RS contains more than one character, the results are unspecified.

(posix, и «one true awk» не умеет)

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

Используешь sed, осваиваешь его почти полностью, переходишь на awk, углубляешься в него, его становится недостаточно, переходишь на perl.

Таков путь восхождения к вершинам подводных глубин песчаных пустынь :)

путь восхождения к вершинам подводных глубин песчаных пустынь

Ты из своей деревни куда-то вообще выбирался? Ужас.

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

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

Пришла пора открыть документацию и узнать о строковой функции match(string, regex, array)

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

Всё удобно. Надо просто не забывать, что условия в awk - это обычные выражения с булевым или совместимым с ним результатом:

cat from.txt | awk '
/rx/{ print $1; next }
match($0, /(hello)(.*)(world)/, A){ print A[2]; next }
NR<5{ print $3; next }
{ print $0 }
' > to.txt

blexey ★★★★★
()

Стало известно, что в официальном репозитории 7-й Магейи (этот релиз сейчас доделывается) gawk'а 5.0.0 не будет из за изменений, которые привели к потере обратной совместимости. gawk 5.0.0 появится в котле не раньше чем в нём начнут готовить 8-ю Магейю. Так что, 7-я Магейя выйдет с gawk'ом 4.2.1.

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