ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
sed and awk
Author:
Dale Dougherty&Arnold Robbins
ISBN:
1 56592 225 5
Publisher:
O'Reilly
Pages:
407pp
Price:
£21-95
Reviewer:
Dave Rutlidge
Subject:
unix
Appeared in:
11-6
For the benefit of those who are unfamiliar with unix tools, sed and awk are two of the most powerful and most versatile tools that unix offers. Sed is a stream editor and can be used to apply a series of edits to a number of files, or the stdout of a program. Awk is a powerful interpreted programming language that provides extensive text processing facilities and is ideal for producing reports and restructuring data. While both sed and awk were born in a unix environment, they have been ported to a variety of platforms and are frequently available in freeware as well as commercial packages.

Both sed and awk make extensive use of regular expressions (RE) and pattern matching. While simple in concept, RE can be a nightmare for anyone encountering them for the first time. This book provides one of the best discussions of RE I have seen. It is gentle in its approach, but very comprehensive and includes a table of 'common' (if you are an American) RE, some of which are actually useful. While the book is specifically devoted to sed and awk, the author makes reference to some of the other tools that also use RE, such as vi, grep and egrep and shows how the expression syntax varies between programs.

The book then breaks off into a more detailed discussion of sed, then awk. Once again the approach is gently but through and few readers would have difficulty following it. The code examples are clear and well structured and vary from (sometimes very) trivial examples to demonstrate a point to more extensive 'real-world' example code. There is no code disc, but the code is available on- line in a variety of ways, although not via a web page. There are no review questions or exercises to test the readers understanding.

While the book is based upon the POSIX standard versions of sed and awk, some discussion of other versions is included. Specifically, there is a whole chapter devoted to the different flavours of awk that are available.

The book concludes with quick reference sections for both sed and awk and a complete listing of the two more extensive applications developed as the book progressed. It is well indexed and very useable. Like all O'Reilly's books the binding is excellent and the book will easily lay flat by your keyboard.

Overall, the book is well written and has a very readable style. It forms good starting point for anyone who wishes to explore these interesting and extremely powerful tools and a useful reference guide for the slightly more experienced. It's almost worth buying for the explanation of regular expressions alone.