Grep
|
- The title of this article is incorrect because of technical limitations. The correct title is grep.
grep is a command line utility originally written for use with the Unix operating system. The default behaviour of grep takes a regular expression on the command line, reads standard input or a list of files, and outputs the lines containing matches for the regular expression.
The name comes from a command in the Unix text editor ed that takes the form:
- g/re/p
This means "search globally for matches to the regular expression re, and print lines where they are found". There are various command line switches available when using grep that modify the default behavior.
Contents |
Variations
There are many derivatives of grep, for example agrep which stands for approximate grep to facilitate fuzzy string searching, fgrep for fixed pattern searches, and egrep for searches involving more sophisticated regular expression syntax. Tcgrep is a rewrite of grep and uses Perl regular expression syntax. All these variations of grep have been ported to many computer operating systems.
Conversational Verb
As the name "grep" neatly fits the phonology of English, it is often used as a verb, meaning to search – usually, to search a known set of files, as one would with the grep utility. The direct object is the set of files searched: "Joe grepped his Usenet spool for his name." Contrast with google.
The word "grep" has also become a synonym for regular expressions themselves. Many text and word processors now employ regular expression search features, which those applications will often refer to as a "grep tool" or "grep mode" in which one creates "grep patterns", causing confusion, especially in non-Unix environments.
Examples
To search all files in the current directory for the string "foo".
- grep foo *
To search all files in the current directory and all its subdirectories for the string "foo".
- grep -r foo *
External links
- grep's GNU man page (http://unixhelp.ed.ac.uk/CGI/man-cgi?grep)
- GNU Project documentation for grep (http://www.gnu.org/software/grep/doc/)
- source for Tcgrep (http://www.cpan.org/modules/by-authors/id/TOMC/scripts/tcgrep.gz)
- James Howard's FreeGrep (https://jameshoward.us/FreeGrep), under a BSD License
- AIX documentation
- AIX documentation for grep (http://www.unet.univie.ac.at/aix/cmds/aixcmds2/grep.htm)
- AIX documentation for fgrep (http://www.unet.univie.ac.at/aix/cmds/aixcmds2/fgrep.htm)
- AIX documentation for egrep (http://www.unet.univie.ac.at/aix/cmds/aixcmds2/egrep.htm)
- Alternatives For Microsoft Windows Users
- Windows GREP (http://www.wingrep.com)
- PowerGREP for Windows (http://www.powergrep.com)
- Modified GNU grep 2.0 (http://www.interlog.com/~tcharron/grep.html)de:grep