The AUTHIDX program is approximately 1000 lines of code in the AWK programming language [1,2,3,11].
AWK is a simple, and clean, text processing language that is ideally suited to this task. I have written over a hundred thousand lines of code in that language, and found that equivalent programs in other languages are invariably significantly longer, and much harder to get right.
In addition, AWK is an IEEE POSIX [4,9,10,7,13] standard, and since POSIX conformance is available (though not necessarily installed by default) for virtually all commercial operating systems, you should expect your system vendor to provide it.
To find out whether your system has POSIX compliance, visit =http://nemo.ncsl.nist.gov/posix/151-1reg= and =http://nemo.ncsl.nist.gov/posix/151-2reg= on the World-Wide Web, or send electronic mail to =firstname.lastname@example.org= with this text:
send help send 151-1reg send 151-2reg
The most obvious omission among the many systems listed is the Apple Macintosh operating system; only the A/UX and MachTen operating systems on the Macintosh hardware platform have POSIX compliance. By searching on the Web, I located a reference to a port of AWK to the Macintosh Programmer's Workbench (MPW), but at the time of writing this, the link was unreachable.
There are also independent commercial implementations of the language for the IBM PC platform, and at least four freely-distributable implementations: BAWK, GAWK, MAWK, and NAWK, the last of which is from the original developers at AT&T , with continued improvements. The AWK development groups are in close contact, so the implementations retain fidelity to the original language definition .
The book about the Free Software Foundation's GNU implementation, GAWK , is also available in TEXinfo form for use online in the GNU EMACS INFO system, or for separate typesetting and printing, but I use my bound copy a good deal too.
More details on sources of AWK implementations are included in the documentation in the AUTHIDX distribution.