[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
B.5 Other Freely Available awk
Implementations
It’s kind of fun to put comments like this in your awk code.
// Do C++ comments work? answer: yes! of course
Michael Brennan
There are a number of other freely available awk
implementations.
This section briefly describes where to get them:
- Unix
awk
Brian Kernighan, one of the original designers of Unix
awk
, has made his implementation ofawk
freely available. You can retrieve this version via the World Wide Web from his home page. It is available in several archive formats:- Shell archive
- Compressed
tar
file - Zip file
This version requires an ISO C (1990 standard) compiler; the C compiler from GCC (the GNU Compiler Collection) works quite nicely.
See section Common Extensions Summary, for a list of extensions in this
awk
that are not in POSIXawk
.-
mawk
Michael Brennan wrote an independent implementation of
awk
, calledmawk
. It is available under the GPL (see section GNU General Public License), just asgawk
is.The original distribution site for the
mawk
source code no longer has it. A copy is available at http://www.skeeve.com/gawk/mawk1.3.3.tar.gz.In 2009, Thomas Dickey took on
mawk
maintenance. Basic information is available on the project’s web page. The download URL is http://invisible-island.net/datafiles/release/mawk.tar.gz.Once you have it,
gunzip
may be used to decompress this file. Installation is similar togawk
’s (see section Compiling and Installinggawk
on Unix-like Systems).See section Common Extensions Summary, for a list of extensions in
mawk
that are not in POSIXawk
.-
awka
Written by Andrew Sumner,
awka
translatesawk
programs into C, compiles them, and links them with a library of functions that provides the coreawk
functionality. It also has a number of extensions.The
awk
translator is released under the GPL, and the library is under the LGPL.To get
awka
, go to http://sourceforge.net/projects/awka.The project seems to be frozen; no new code changes have been made since approximately 2003.
-
pawk
Nelson H.F. Beebe at the University of Utah has modified Brian Kernighan’s
awk
to provide timing and profiling information. It is different frompgawk
(see section Profiling Yourawk
Programs), in that it uses CPU-based profiling, not line-count profiling. You may find it at either ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz or http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz.- Busybox Awk
-
Busybox is a GPL-licensed program providing small versions of many applications within a single executable. It is aimed at embedded systems. It includes a full implementation of POSIX
awk
. When building it, be careful not to do ‘make install’ as it will overwrite copies of other applications in your ‘/usr/local/bin’. For more information, see the project’s home page. - The OpenSolaris POSIX
awk
The version of
awk
in ‘/usr/xpg4/bin’ on Solaris is more-or-less POSIX-compliant. It is based on theawk
from Mortice Kern Systems for PCs. The source code can be downloaded from the OpenSolaris web site. This author was able to make it compile and work under GNU/Linux with 1–2 hours of work. Making it more generally portable (using GNU Autoconf and/or Automake) would take more work, and this has not been done, at least to our knowledge.-
jawk
This is an interpreter for
awk
written in Java. It claims to be a full interpreter, although because it uses Java facilities for I/O and for regexp matching, the language it supports is different from POSIXawk
. More information is available on the project’s home page.- Libmawk
-
This is an embeddable
awk
interpreter derived frommawk
. For more information see http://repo.hu/projects/libmawk/. - QSE Awk
-
This is an embeddable
awk
interpreter. For more information see http://code.google.com/p/qse/ and http://awk.info/?tools/qse. -
QTawk
-
This is an independent implementation of
awk
distributed under the GPL. It has a large number of extensions over standardawk
and may not be 100% syntactically compatible with it. See http://www.quiktrim.org/QTawk.html for more information, including the manual and a download link. -
xgawk
-
XML
gawk
. This is a fork of thegawk
3.1.6 source base to support processing XML files. It has a number of interesting extensions which should one day be integrated into the maingawk
code base. For more information, see the XMLgawk project web site.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |