gawkextlib (The GNU Awk User’s Guide)
17.8 The gawkextlib Project
The gawkextlib project provides a number of
gawk extensions, including one for processing XML files. This is the evolution of the original
There are a number of extensions. Some of the more interesting ones are:
abortextension. It allows you to exit immediately from your
awkprogram without running the
jsonextension. This serializes a multidimensional array into a JSON string, and can deserialize a JSON string into a
gawkarray. This extension is interesting since it is written in C++ instead of C.
- MPFR library extension. This provides access to a number of MPFR functions that
gawk’s native MPFR support does not.
- Select extension. It provides functionality based on the
- XML parser extension, using the Expat XML parsing library
You can check out the code for the
gawkextlib project using the Git distributed source code control system. The command is as follows:
git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
You will need to have the RapidJson JSON parser library installed in order to build and use the
You will need to have the Expat XML parser library installed in order to build and use the XML extension.
The simple recipe for building and testing
gawkextlib is as follows. First, build and install
cd .../path/to/gawk/code ./configure --prefix=/tmp/newgawk Install in /tmp/newgawk for now make && make check Build and check that all is OK make install Install gawk
Next, go to https://sourceforge.net/projects/gawkextlib/files to download
gawkextlib and any extensions that you would like to build. The
README file at that site explains how to build the code. If you installed
gawk in a non-standard location, you will need to specify
./configure --with-gawk=/path/to/gawk to find it. You may need to use the
sudo utility to install both
gawkextlib, depending upon how your system works.
If you write an extension that you wish to share with other
gawk users, consider doing so through the
gawkextlib project. See the project’s website for more information.