grep is such a tool that one uses continually every unix console session. Great to spend an evening reading up about that tool, just to get introduced to the more advanced uses. 75 pages would be plenty to tell something nice, not deal extensively with regular expressions. So quite some space to tell something new, right?
Wrong. Regular expressions keep on being the central focus of this book, despite being uncapable of telling how they really work. The examples of Advanced Use are how to match lines with IP-addresses and ISBN-numbers, AKA regular expressions. No word on how to make the use of grep itself nicer.
* On page 9., option -e is used without explaining what it does.
* Page 25. It seems like they want to show how to avoid a pipe from one grep to another, but they just show got rid of the cat statement. The text does not make sense, and there is no pointer to where to look in the book to get performance increase.
* p.60: '/' really should have been a '\'.
* In the discussion of command line options, nor of the environment variables, an explanation of the practical difference between 'auto' and 'always' has been omitted. I would have hoped for a discussion on how to use pagers like less with color support (No sweat to figure out yourself: exporting GREP_OPTIONS="--color always" and LESS="-R" works for me to retain the color marks).
* As the final words, the authors warn about using grep on a multitude of files, as this could run into the limits of the system. Of course, a combination of find and xargs is a more subtle and correct one, which does not happen to run into this limit. The authors suggest that one should rebuild the kernel to overcome this limitation. I have not tried it, but I havily syspect that this could be remedied with changing the allowed number of open files imposed by ulimit.
Except for these factual errors, the authors have mainly reiterated what is written in the man and info pages. I was hoping for some interesting tips on how to integrate the usage of grep in daily tasks. The book spends a 30 % of its space to explaining the special characters. This information can be found in a split second with 'man grep | grep -C2 "\^"'. The context options -A, -B, and -C dwell somewhere in obscurity, as they could have been used to show how they make sense while parsing logs, or text written by humans.
I imagine that this book does provide a nice introduction to the command. But if you find yourself navigating man pages regularly, and have encountered a regular expression before, there is not much to gain from this book.