GNU Awk gets major tune up in version 4.0.0
The GNU Awk developers have announced version 4.0.0 of Gawk, aka GNU Awk, the GNU Project's free software implementation of AWK, the data-driven scripting language for extracting data and creating reports. Gawk 4.0.0 is the result of two years' work in which the developers made a number of major changes.
For example, they have added BEGINFILE/ENDFILE allowing Gawk programs to execute rules when they begin or end processing a file and support for indirect function calls and "arrays of arrays" (including an isarray function). There is a new
--sandbox option which disables the system() call and redirects input/output and extensions, allowing for "scripts from questionable sources" to be run with minimal access to the system.
The switch/case statements have now been enabled by default and IPV6 support has been added. A modified set of byte code internals has also been merged allowing the addition of the dgawk debugger and "possibly improved performance". Other changes included upgrading the build system to Autoconf 2.68, Automake 1.11.1, Gettext 0.18.1 and Bison 2.5.
The developers have also switched to POSIX behaviour for the
gsub commands by default and, in POSIX mode, string comparisons use the collation sensitive
wstrcoll. Along with stricter adherence to GNU coding standards and the "[d-h]" form in regular expressions, all these modifications do change behaviour.
Platform code for a number of old unsupported systems has been removed in a code clean up, including support for Atari, Amiga, BeOS, Cray, MIPS RiscOS, MS-DOS, MS-Windows, NeXT, SunOS 3.x, SunOS 386 and "probably others I've forgotten" according to Arnold Robbins who made the announcement on behalf of the other gawk developers.
The source for Gawk 4.0.0 is available to download (direct downloads for tar with bz2, gz or xz compression) now and on many mirrors. Documentation is available in HTML, ASCII, TeX, PostScript and PDF formats. Gawk is licensed under the GPLv3.