The Awk Programming Language (1988) [pdf]
I've got the source code to both the book (in English and French) as well as awk.  How?  I sent email to bwk that we were trying extend awk to be sort of threaded (think awk scripts as first class so you have awk foo { } awk bar { } and you could do foo | bar).  We called it bawk, BitMover's awk.Anyhow, I asked Brian if we could base it off the one true awk and he tarred up ~bwk/awk and sent it to me.I love that guy, the culture of the Bell Labs people and the people that worked with them is great.I've stolen a bunch of awk ideas over the years. BitKeeper (first DSCM) has a programming "language" for digging info out of the repository.  For example, this:http://www.mcvoy.com/lm/bkdocs/dspec-changes-json-v.txtprints out the repo history as a json stream.  One of my guys said that it couldn't be done, heh, it could be :)Everyone should learn some awk, it's so handy.