Linux Today: Linux News On Internet Time.

More on LinuxToday

Release Digest: GNU, August 24, 2004

Aug 25, 2004, 04:45 (0 Talkback[s])

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

Gawk 3.1.4

Greetings all.

Patch #4 to GNU Awk (gawk) 3.1 is now available. Gawk is the GNU project's version of the AWK programming language.

The following files may be retrieved from

-rwxr-xr-x 1 arnold wheel 611333 Aug 2 12:30 gawk-3.1.3-3.1.4.diff.gz
-rw-r--r-- 1 arnold wheel 613262 Aug 1 15:08 gawk-3.1.4-doc.tar.gz
-rw-r--r-- 1 arnold wheel 1157283 Aug 1 15:09 gawk-3.1.4-ps.tar.gz
-rw-r--r-- 1 arnold wheel 1732494 Aug 2 12:19 gawk-3.1.4.tar.bz2
-rw-r--r-- 1 arnold wheel 2260582 Aug 2 12:19 gawk-3.1.4.tar.gz


3921b6c43b6fe006332e46d07c197c65 gawk-3.1.3-3.1.4.diff.gz
3b72ba3c52451ad9a816a85571e0c0ec gawk-3.1.4-doc.tar.gz
2d5b69cfbdd930e3cd88f0574cd2e7a2 gawk-3.1.4-ps.tar.gz
b8b532beaf02350e69d2d5dc98cb1e37 gawk-3.1.4.tar.bz2
3c8935efb9fdc7202720894279ad04a7 gawk-3.1.4.tar.gz

This is a bug fix release. The relevant part of the NEWS file is reproduced below.

A .bz2 file is available for the full distribution to save download time.

The -doc.tar.gz file contains the TeX dvi and ``dribble'' files, while the -ps.tar.gz file contains PostScript versions of the manuals, the man page, and the reference card.

The .diff file is a SHELL SCRIPT that should be executed with `sh'. It sets things up correctly both before and after applying the embedded context diff. Note also that if you use the .diff file to upgrade, you need to have the version of makeinfo from Texinfo 4.6 in order to rebuild the *.info files.

Bug reports should be sent to


Arnold Robbins

Changes from 3.1.3 to 3.1.4

  1. Gawk now supports the POSIX %F format, falling back to %f if the local system printf doesn't handle it.
  2. Gawk now supports the ' flag in printf. E.g., %'d in a locale with thousands separators includes the thousands separator in the value, e.g. 12,345.

    This has one problem; the ' flag is next to impossible to use on the command line, without major quoting games. Oh well, TANSTAAFL.

  3. The dfa code has been reinstated; the performance degradation was just too awful. Sigh. (For fun, use `export GAWK_NO_DFA=1' to see the difference.)
  4. The special case `x = x y' is now recognized in the grammar, and gawk now uses `realloc' to append the new value to the end of the existing one. This can speed up the common case of appending onto a string.
  5. The dfa code was upgraded with most of the fixes from grep 2.5.1, and the regex code was upgraded with GLIBC as mid-January 2004. The regex code is faster than it was, but still not as fast as the dfa code, so the dfa code stays in. The getopt code was also synced to current GLIBC.
  6. Support code upgraded to Automake 1.8.5, Autoconf 2.59, and gettext 0.14.1.
  7. When --posix is in effect, sub/gsub now follow the 2001 POSIX behavior.

    Yippee. This is even documented in the manual.

  8. Gawk will now recover children that have died (input pipelines, two-way pipes), upon detecting EOF from them, thus avoiding filling up the process table. Open file descriptors are not recovered (unfortunately), since that could break awk semantics. See the ChangeLog and the source code for the details.
  9. Handling of numbers like `0,1' in non-American locales ought to work correctly now.
  10. IGNORECASE is now locale-aware for characters with values above 128. The dfa matcher is now used for IGNORECASE matches too.
  11. Dynamic function loading is better. The documentation has been improved and some new APIs for use by dynamic functions have been added.
  12. Gawk now has a fighting chance of working on older systems, a la SunOS 4.1.x.
  13. Issues with multibyte support on HP-UX are now resolved. `configure' now disables such support there, since it's not up to what gawk needs.
  14. There are now even more tests in the test suite.
  15. Various bugs fixed; see ChangeLog for the details.
Aharon (Arnold) Robbins