Epsilon's Grep Command

Epsilon's grep command searches through multiple files for a search pattern and shows you a list of matching lines. You can then select any match on the list and go directly to the line with the match.

The command's name comes from the Unix utility program "grep". Its name comes from the commands used in the old Unix line editor "ed" to search Globally for lines matching a pattern (a "Regular Expression"), and Print the results: g/re/p. Neat, huh?

Epsilon's built-in grep command is really, really fast, and can do all kinds of different searches: plain text or regular expression patterns, exact case matching or case-folding, find only whole words or match partial words.... Because all searching commands in Epsilon use the same syntax and subcommands, it's easy to search normally in the current file for some text, and then tell Epsilon to search in other files for it--no retyping.

Grep at work. Take a look at this screen shot that shows what happens when you use Epsilon's grep command. (As with all the screen shots at this site, you can follow the link to see it in more detail.) When you grep, Epsilon quickly constructs a list of all matches of the text or pattern you specified. Epsilon shows you what file contained the match, and the entire line it occurred on, so it's easy to pick out the matches you're interested in. Select one, and Epsilon jumps straight to the match in its file, so you can see it in context, edit it, or whatever. You can return to the list of matches, or use shorthand commands to jump immediately to the next match (even if it happens to be in a different file).

You can use Epsilon's extended file patterns to search not just the files in a certain directory, but files all across your disk. For example, you can tell Epsilon to find all lines that contain the text "struct gbhead", in all .cpp or .h files that start with the letter "g" and contain a digit in their names, contained in any directory on your D: or E: drives whose name contains the text "latest". (And a plain old "*.*" works too.) Epsilon can also perform multi-file replacements using extended file patterns.

Last Updated: 1 October 2009