The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
Subject: [TUHS] Re: The AWK Programming Language, 2nd Ed.: What's new?
Date: Sun, 10 Sep 2023 13:41:34 -0600	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>


markus schnalke <> wrote:

> Hoi,
> I just discovered that one of my favorite computer books about my
> best liked programming language (besides C) releases in a second
> edition. Does anyone know what the differences of 1st and 2nd
> edition are?
> As the original book is almost perfect, the only rework and
> extension direction I can think of is towards different
> implementations like gawk, mawk, portability and such things.
> Does anyone know more about it? Maybe some inside information? ;-)
> meillo

Inside information? As it happens, yes, I do have some. :-)
(I was a reviewer.)

[In the below, "awk" means Brian Kernighan's awk.]

In the 36 (!) years since the first edition was published, awk
has undergone, shall we say, a large number of small changes. These
are listed in the FIXES file currently in the master branch of

In addition, Brian Kernighan decided to add support for UTF-8 input,
which is what awk now expects, and support for CSV input files when
invoked with the --csv option. Furthermore, there is a new \u escape
sequence which must be followed by 1-8 hexadecimal digits for specifying
Unicode code points.

The book itself has been carefully revised. The large second chapter
which was a reference to the full language was moved to an appendix.
Many of the example programs from the first edition were retained
and updated, but there is also quite of lot of pleasing new material.

There is mention of, and occasional comparison with, gawk, mawk and
Ben Hoyt's GoAwk, but by and large the focus is on the authors' version.

The new code is currently in the "csv" branch of the above Github
repo.  The maintainer is in the process of tidying up the repo (dealing
with issues and pull requests) and will merge the csv branch into
master sometime in the very near future.

I'm told that the printed books with get to the publisher's warehouse
towards the end of September. The book is available now on O'Reilly's
Safari learning site ( for anyone who has a

Matching code (--csv and \u) are in gawk's master branch now. I will
make a release this fall, after the new code has moved into master
in BWK's awk.

I heartily recommend the book; it is totally up to Brian Kernighan's
usual very high standard.



  parent reply	other threads:[~2023-09-10 19:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-09 19:51 [TUHS] " markus schnalke
2023-09-09 20:13 ` [TUHS] " christopher fujino
2023-09-10 19:41 ` arnold [this message]
2023-09-10 19:59   ` Norman Wilson
2023-09-11  5:59   ` markus schnalke
2023-09-11 13:52     ` Stuff Received
2023-09-13 21:28 arnold
2023-09-15  1:40 ` Mary Ann Horton
2023-09-15  3:48   ` arnold
2023-09-16 17:52     ` Mary Ann Horton
2023-09-15  3:49   ` Ajay Shah
2023-09-15  3:54     ` arnold
2023-09-15  9:09       ` KenUnix
2023-09-15 11:24         ` Dan Cross
2023-09-15 20:04         ` Dave Horsfall
2023-09-15 20:09           ` John Cowan
2023-09-15 20:17         ` Warren Toomey via TUHS
2023-09-16 17:32           ` Mary Ann Horton
2023-09-15 21:08         ` Warner Losh
2023-09-16  1:20 Norman Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).