runawk is a small wrapper for the AWK interpreter that helps one write standalone AWK scripts. Its main feature is to provide a module/library system for AWK which is somewhat similar to Perl's "use" command. It also allows you to select a preferred AWK interpreter, to setup the environment for your scripts. It also provides other helpful features. runawk makes programming AWK easy and efficient, despite the fact that AWK is a very simple programming language. runawk also provides many useful AWK functions and extensions implemented in the separate files/modules.
| Tags | Software Development Libraries Utilities |
|---|---|
| Licenses | MIT/X |
| Operating Systems | POSIX |
| Implementation | Awk C |
Recent releases


Changes: Lots of demonstration programs for most awk modules are in the "examples/" subdirectory. Lots of new modules were added: embed_str.awk, has_suffix.awk, has_prefix.awk, readfile.awk, modinfo.awk, and power_getopt.awk. Minor additions were made to the "runawk" program. Minor fixes were made in the Makefile. Minor fixes were made for dirname.awk and basename.awk.


Changes: The alt_getopt.awk module was added, which implements a "getopt" function compatible with the "Utility Syntax Guidelines" described in the "Single UNIX Specification". A fix was made for FreeBSD make MK scripts. Heuristics for adding "-" to the list of awk's arguments were improved to conform to the "Utility Syntax Guidelines".


Changes: "runawk -e ' { print "123" } ' /dev/null" no longer fails with NAWK (seen on NetBSD). A compilation bug on FreeBSD was fixed. A better error message is shown when stat(filename) fails.


Changes: The temporary file is removed if runawk is killed by SIGINT, SIGQUIT, SIGTERM, SIGHUP, or SIGPIPE signals. (The temporary file is created by 'runawk -e ...')


Changes: The use of "runawk -e" with the #use directive inside the program was fixed.