A.10 Summary

  • The awk language has evolved over time. The first release was with V7 Unix, circa 1978. In 1987, for System V Release 3.1, major additions, including user-defined functions, were made to the language. Additional changes were made for System V Release 4, in 1989. Since then, further minor changes have happened under the auspices of the POSIX standard.
  • Brian Kernighan’s awk provides a small number of extensions that are implemented in common with other versions of awk.
  • gawk provides a large number of extensions over POSIX awk. They can be disabled with either the --traditional or --posix options.
  • The interaction of POSIX locales and regexp matching in gawk has been confusing over the years. Today, gawk implements Rational Range Interpretation, where ranges of the form ‘[a-z]’ match only the characters numerically between ‘a’ through ‘z’ in the machine’s native character set. Usually this is ASCII, but it can be EBCDIC on IBM S/390 systems.
  • Many people have contributed to gawk development over the years. We hope that the list provided in this chapter is complete and gives the appropriate credit where credit is due.