Opentopia Directory Encyclopedia Tools

Grep

Encyclopedia : G : GR : GRE : Grep


The correct title of this } is }}}. The initial letter is capitalized due to [Naming conventions #Lower case first lettertechnical restrictions].
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
which means "search globally for lines matching the regular expression, and print them". There are various command line switches available when using grep that modify the default behaviour.

Other (incorrect) backronyms of the name exist, including: General Regular Expression Parser, General Regular Expression Print, Global Regular Expression Parser, and Global Regular Expression Print.#redirect

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. fgrep and egrep are typically the same program as grep, which behaves differently depending on the name by which it is invoked. 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.

Many other commands contain the word "grep." pgrep, for instance, displays the processes whose names match a regular expression.

In Perl, grep is a built-in function, which when provided both a regular expression (or a general code block) and a list, it returns the elements of that list matched by the expression.

Usage as a 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: "Kibo grepped his Usenet spool for his name." Compare with google. Sometimes visual grep is used as a term meaning to look through text searching for something, in the manner of the grep program.

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 output all lines containing the string "foo" in the given list of files (here "*" represents all files in the current directory):

grep foo *
To output all lines not containing the string "foo", use "-v":

grep -v foo *
To output only the names of the matching files, use "-l":

grep -l foo *
To output all matching lines in the given list or files or directories, or recursively into their subdirectories ("." represents the current directory), use "-r":

grep -r foo .
Grep also can read from standard input. Use ps -ef to list all running processes combined with grep $USER to output all lines with your username in them. (So you print out all the processes you are running.)

ps -ef | grep $USER

Further reading

has more about this subject:

Online documentation

References

See also

External links

Unix command line programs[ view][ talk][ edit] )
File and file system management: cat | chdir/cd | chmod | chown | chgrp | cp | du | df | fdupes | file | fsck | ln | ls | lsof | mkdir | more | mount | mv | pwd | rcp | rm | rmdir | split | touch | tree
Process management: anacron | at | chroot | cron/crontab | kill | nice | ps | sleep | time | timex | top | renice | wait
User Management/Environment: env | finger | id | locale | mesg | passwd | su | sudo | uname | uptime | w | who | write
Text processing: awk | cut | diff | ex | head | iconv | join | less | more | nkf | paste | sed | sort | tail | tr | uniq | wc | xargs
Shell programming: echo | expr | unset Printing: lp
Communications:
inetd | netstat | ping | rlogin | traceroute
Searching:
egrep | fgrep | find | grep | strings
Miscellaneous:
banner | bc | cal | man | uname | wall | yes

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: