Awk, mawk, nawk, gawk… WHAT

awkunix

I've just started learning awk and I'm a little confused about all those versions around. Is there any "version" which is found on all Unix-like systems? Like, you know, plain vi? Does the standard awk support the -F option?

Best Answer

awk - the most common and will be found on most Unix-like systems, oldest version and inferior to newer ones.

mawk - fast AWK implementation which it's code base is based on a byte-code interpreter.

nawk - while the AWK language was being developed the authors released a new version (hence the n - new awk) to avoid confusion. Think of it like the Python 3.0 of AWK.

gawk - abbreviated from GNU awk. The only version in which the developers attempted to add i18n support. Allowed users to write their own C shared libraries to extend it with their own "plug-ins". This version is the standard implementation for Linux, original AWK was written for Unix v7.

There are other versions like jawk (java implementation), bwk (Brian W. Kernighan's implementation) and so on.

Related Question