gawkextlib (The GNU Awk User’s Guide)
Next: Extension summary, Previous: Extension Samples, Up: Dynamic Extensions [Contents][Index]
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 xgawk
(XML gawk
) project.
There are a number of extensions. Some of the more interesting ones are:
abort
extension. It allows you to exit immediately from yourawk
program without running theEND
rules.json
extension. This serializes a multidimensional array into a JSON string, and can deserialize a JSON string into agawk
array. 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
select()
system call. - 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 json
extension.
You will need to have the Expat XML parser library installed in order to build and use the XML extension.
In addition, you must have the GNU Autotools installed (Autoconf, Automake, Libtool, and GNU gettext).
The simple recipe for building and testing gawkextlib
is as follows. First, build and install gawk
:
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 gawk
and 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.
Next: Extension summary, Previous: Extension Samples, Up: Dynamic Extensions [Contents][Index]