Before finishing, we would like to give some extra material that might be of interest.
First, we believe that it is extremely useful to know of freely available tools for on-line text searching, so we cover the existing software of this kind we are aware of.
Second, we give pointers to other books, journals, conferences, and online resources one may want to read to enter deeper into the area of text searching. This is also of interest to readers with a specific algorithmic problem not addressed in this book and not solved by the available software.
Finally, we include a section with problems related to combinatorial pattern matching. The section aims at briefing over the different extensions to the basic text searching problem, explaining the main concepts and existing results, and pointing to more comprehensive material covering them.
Up to date information and errata related to this book will be available at http://www.dcc.uchile.cl/~gnavarro/FPMbook.
Available software
We present in this section a sample of freely available software for on-line pattern matching.
7.1.1 Gnu Grep
What it is GNU (http://www.gnu.org) is an organization devoted to the development of free software. One of its products, Grep, permits fast searching of simple strings, multiple strings, and regular expressions in a set of files. Approximate searching is not supported. Gnu Grep is twice as fast as the classical Unix Grep.
Grep reports the lines in the file that contain matches. However, there are many configuration options that permit reporting the lines that do not match, the number of lines that match, whole files containing matches, and so on. The software provides a very powerful syntax that includes operators that go beyond regular expressions.