Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
This is GNU Awk 4.2.1. It is upwardly compatible with Brian Kernighan's
version of Unix awk. It is almost completely compliant with the
2008 POSIX 1003.1 standard for awk. (See the note below about POSIX.)
This is a bug-fix release. See NEWS and ChangeLog for details.
Work to be done is described briefly in the TODO file, which is available
only in the 'master' branch in the Git repo.
Changes in this version are summarized in the NEWS file.
Read the file POSIX.STD for a discussion of issues where the standard
says one thing but gawk does something different.
To format the documentation with TeX, use at least version 2017-09.16
of texinfo.tex. There is a usable copy of texinfo.tex in the doc directory.
You should also use at least version 6.1 of texindex and of makeinfo
from the texinfo-6.1 distribution.
Check whether there is a system-specific README file for your system under
the `README_d' directory. If there's something there that you should
have read and didn't, and you bug me about it, I'm going to yell at you.
See the file INSTALL for installation instructions.
If you don't have Bison, use the awkgram.c file here. It was
generated with Bison, and has no proprietary code in it. (Note that
modifying awkgram.y without Bison will be difficult, at best. You might
want to get a copy of Bison from the FSF too.)
The build mechanics depend upon Bison. Also, gawk doesn't work correctly
with some versions of yacc, so just use Bison.
If you have an MS-DOS, MS-Windows, or OS/2 system, use the stuff in the `pc'
directory. Similarly, there is a separate directory for VMS.
Appendix B of ``GAWK: Effective Awk Programming'' discusses configuration
in detail. The configuration process is based on GNU Autoconf and
After successful compilation, do `make check' to run the test suite.
There should be no output from the `cmp' invocations except in the
cases where there are small differences in floating point values, and
possibly in the case of strftime. There may be differences based on
installed (or not installed) locales and the quality of multibyte
character support on your system.
Several of the tests ignore errors on purpose; those are not a problem.
If there are other differences, please investigate and report the problem.
PRINTING THE MANUAL
The `doc' directory contains a recent version of texinfo.tex, which will
be necessary for printing the manual. Use `make dvi' to get a DVI file
from the manual. In the `doc' directory, use `make postscript' to get
PostScript versions of the manual, the man page, and the reference card.
Use `make pdf' to get PDF versions of the manuals, the man page and
the reference card.
BUG REPORTS AND FIXES (Un*x systems):
Please coordinate changes through Arnold Robbins. In particular, see
the section in the manual on reporting bugs. Note that comp.lang.awk
is about the worst place to post a gawk bug report. Please, use the
mechanisms outlined in the manual.
Email should be sent to email@example.com. This is a separate mailing
list at GNU Central. The advantage to using this address is that bug
reports are archived at GNU Central.
BUG REPORTS AND FIXES, non-Unix systems:
MS-DOS with DJGPP:
Juan Manuel Guerrero
MS-Windows with MinGW:
z/OS (OS/390) Contact:
Daniel Richard G.
z/OS (OS/390) Maintainer Emeritus: