UNIX Power Tools

UNIX Power ToolsSearch this book
Previous: 27.4 Finding a Pattern Only When It's a Word Chapter 27
Searching Through Files
Next: 27.6 Fast grep Isn't
 

27.5 Extended Searching for Text with egrep

The egrep command is yet another version of grep (27.2), one that extends the syntax of regular expressions (26.4). A plus sign (+) following a regular expression matches one or more occurrences of the regular expression; a question mark (?) matches zero or one occurrences. In addition, regular expressions can be nested within parentheses:

% egrep "Lab(oratorie)?s" name.list
AT&T Bell Laboratories
AT&T Bell Labs
Symtel Labs of Chicago

Parentheses surround a second regular expression and ? modifies this expression. The nesting helps to eliminate unwanted matches; for instance, the word Labors or oratories would not be matched.

Another special feature of egrep is the vertical bar (|), which serves as an or operator between two expressions. Lines matching either expression are printed, as in the next example:

% egrep "stdscr|curscr" ch03
into the stdscr, a character array.
When stdscr is refreshed, the
stdscr is refreshed.
curscr.
initscr() creates two windows: stdscr
and curscr.

Remember to put the expression inside quotation marks to protect the vertical bar from being interpreted by the shell as a pipe symbol. Look at the next example:

% egrep "Alcuin (User|Programmer)('s)? Guide" docguide
Alcuin Progammer's Guide is a thorough
refer to the Alcuin User Guide
Alcuin User's Guide introduces new users to

You can see the flexibility that egrep's syntax can give you, matching either User or Programmer and matching them whether or not they had an 's. Article 20.8 has another example and explanation of egrep.

Both egrep and fgrep (27.6) can read search patterns from a file using the -f option (27.7). The calendar (48.4) utility makes a file full of complicated expressions for matching dates.

- DD from UNIX Text Processing, Hayden Books, 1987, Chapter 11


Previous: 27.4 Finding a Pattern Only When It's a Word UNIX Power ToolsNext: 27.6 Fast grep Isn't
27.4 Finding a Pattern Only When It's a Word Book Index27.6 Fast grep Isn't

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System