- Unix awk
- Brian Kernighan, one of the original designers of Unix awk,
has made his implementation of
awk 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
- http://www.cs.princeton.edu/~bwk/btl.mirror/awk.shar
- Compressed tar file
- http://www.cs.princeton.edu/~bwk/btl.mirror/awk.tar.gz
- Zip file
- http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip
This version requires an ISO C (1990 standard) compiler;
the C compiler from
GCC (the GNU Compiler Collection)
works quite nicely.
See Common Extensions,
for a list of extensions in this awk that are not in POSIX awk.
- mawk
- Michael Brennan wrote an independent implementation of awk,
called mawk. It is available under the GPL
(see Copying),
just as gawk 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 to gawk's
(see Unix Installation).
See Common Extensions,
for a list of extensions in mawk that are not in POSIX awk.
- awka
- Written by Andrew Sumner,
awka translates awk programs into C, compiles them,
and links them with a library of functions that provides the core
awk 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 from pgawk
(see Profiling),
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 the awk 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 POSIX awk. More information is available on the
project's home page.
- Libmawk
- This is an embeddable awk interpreter derived from
mawk. 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 standard
awk 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 the gawk 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 main gawk code base.
For more information, see
the XMLgawk project web site.