expecting greater productivity from
using git and better ease of use for
the user community. And, it’s nice to
be using 21st-century tools.
Future Work
Some further interesting development
remains to be done.
1. The XMLGawk Project (see
Resources) is a fork of gawk based on
3.1.6 that provides better facilities for
loading dynamic extensions and several
very interesting extensions to go with
those features. These should be merged
into the main gawk code base and
distribution, respectively.
2. Although gawk has had the ability
to load extensions dynamically for many
years, the API has not been stable or
easy to use. I have designed an API for
C functions that can be called from an
awk program that is considerably better,
but I have not implemented it yet. This
should be done.
3. Currently, the gawk distribution
builds three separate executables: regular
gawk, pgawk (for profiling awk programs)
and dgawk for debugging them. The
new internals enable the possibility of
making just one executable that could
perform all three functions (based on
command-line options). This should simplify the build process and definitely will
reduce the total installation “footprint”.
4. The documentation could use further
100 | SEPTEMBER 2011 WWW.LINUXJOURNAL.COM
cleanup. Some of the examples cause
the documentation to show its age. (Who
uses dial-up BBS systems anymore?)
Acknowledgements
Thanks to Brian Kernighan, Stephen
Davies and John Haque for reviewing
this article.;
Arnold Robbins is a programmer, technical author, husband and
father. A native of Atlanta, Georgia, he and his family have been
living in Israel since 1997, where he now works writing software
for a very large semiconductor manufacturing company. He has
been involved with GNU Awk since 1987(!). In his non-copious
spare time, he maintains gawk and its documentation, among
other activities. Arnold is also the author or co-author of a number
of UNIX- and Linux-related books from O’Reilly and Prentice
Hall, which he hopes that all readers of this article will now run
out and buy. For more information, see www.skeeve.com.
Resources
Gawk Home Page at the FSF:
www.gnu.org/software/gawk
Gawk Project Home Page at Savannah, with Links
and Instructions for Using Git: savannah.gnu.org/
projects/gawk
Gawk Download Directory: ftp.gnu.org/gnu/gawk
Gawk Documentation:
www.gnu.org/software/gawk/manual
Installation Instructions:
www.gnu.org/software/gawk/manual/html_node/
Installation.html#Installation
Brian Kernighan’s “one true awk”:
www.cs.princeton.edu/~bwk/btl.mirror
The XMLGawk Download Page:
sourceforge.net/projects/xmlgawk