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 ()

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

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

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

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

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

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

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