From Effective Awk Programming, Edition 4:
A Rose by Any Other Name The awk language has evolved over the years. Full details are provided in Appendix A [The Evolution of the
awk Language], page 439. The language described in this book is often
referred to as "new awk." By analogy, the original version of awk is
referred to as "old awk."
On most current systems, when you run the
awk utility you get some version of new awk.4 If your system’s
standard awk is the old one, you will see something like this if you
try the test program:
$ awk 1 /dev/null
error awk: syntax error near line 1
error awk: bailing out near line 1
In this case, you
should find a version of new awk, or just install gawk!
Throughout
this book, whenever we refer to a language feature that should be
available in any complete implementation of POSIX awk, we simply use
the term awk. When referring to a feature that is specific to the GNU
implementation, we use the term gawk.
4 Only Solaris systems still use an old awk for > the default awk utility. A more modern awk lives in /usr/xpg6/bin
on these systems.