Module 60 grep

Previous Table of Contents Next


Module 60
grep

DESCRIPTION

The external grep command is used to search ASCII text files for a given pattern. All lines containing the pattern are written to the standard output. The pattern may be a word or string of characters. Regular expressions may be used inside the pattern to specify certain sequences of characters . If grep searches more than one file, each displayed line is preceded by the filename. If no filenames are given, grep reads from the standard input. Thus you can use grep in a pipe command.

The name grep is a combination of editor command characters. It is from the editor command :g/RE/p, which translates to global Regular Expression print. Inside the editor this command would search the entire file for all lines matching the RE pattern . The -v option of grep is from the editor command :v/RE/p, which searches the entire file for all lines except the ones containing the RE pattern .


NOTE:    
The grep command performs line oriented searches. Therefore, a phrase that spans more than one line is not matched. When deciding what string to use for the search you should try to keep it as short as possible yet as unique as possible.

COMMAND FORMAT

Following is the general format of the grep command.

 grep [ -bchilnsv ] pattern file_list 

BSD (Berkeley)
grep [ -bcilnsvw ] pattern file_list

Options

The following options may be used to control how grep functions.

-b Displays the block number in which the pattern was found before the line that contains the matching pattern .
-c Displays only a total count of matching lines for each file processed .
-h Suppresses the displaying of filenames which precede lines that match the specified patterns when multiple files are searched.
-i Ignores the difference between uppercase and lowercase characters during comparisons.
-l Displays only the names of the files containing the specified pattern . The lines containing the patterns are not displayed.
-n Displays the line number before each line containing the pattern .
-s Suppresses the displaying of diagnostic error messages for nonexistent and nonreadable files.
-v Displays only the lines that do not match the pattern . The v command in the ex editor performs the same type of function. It is an exception search. Search for every line except the ones containing the given pattern .

BSD (Berkeley)
-e -string This allows you to specify a string that begins with a dash. Normally any argument beginning with a dash is interpreted as an option not a string or argument.
-w The expression is searched for as a word. The RE metacharacters \< and \> are assumed to surround the expression.

Arguments

The following list describes the arguments that may be passed to the grep command.

pattern Any combination of characters, numbers , and regular expression patterns. grep searches for strings of text that match the pattern expression.
file_list One or more files to search for the given pattern

SEARCH PATTERNS

(REGULAR EXPRESSIONS)

The following table contains each regular expression and the task that it performs when used inside a pattern . A regular expression consists of regular alphanumeric characters matching themseleves and special characters matching certain patterns of text. Regular Expressions are often referred to as REs in UNIX terminology. Thus we use the RE notation for uniformity and briefness.


Alphanumeric
RE
Description

c Matches the character c .
string Matches the specified string of characters.

Metacharacters

Metacharacters are the special characters used in regular expression patterns that have special meanings. Metacharacters are often referred to as special or magic characters or wild cards.


Special
RE
Description

\ Escapes the meaning of a metacharacter.
^ Matches the beginning of the line.
$ Matches the end of the line.
. Matches any single character.
[ class ] A character class. Matches any one character in the class.
[ c1 - c2 ] Match any one of the ASCII characters in the range defined within the brackets.
[^ class ] Does NOT match any of the ASCII characters listed within the brackets. Ranges may be specified.
* Matches zero or more occurrences of the preceding regular expression.
\(RE\) Groups the regular expression RE for later reference; each RE is referenced by a corresponding number (see \n). The first group is referenced by \1, the second group by \2, and so on. You can have a maximum of nine groups in one regular expression pattern.
\n Matches the n th grouped \(RE\) within the same regular expression.
RE\{ m \} Matches exactly m occurrences of the preceding one-character RE.
RE\{ m ,\} Matches m or more occurrences of the preceding one-character RE.
RE\{ m ,n\} Matches m through n occurrences of the preceding one-character RE.

To have a metacharacter interpreted as a normal character, proceed it with a backslash (\).


Previous Table of Contents Next

Copyright Wordware Publishing, Inc.


Illustrated UNIX System V
Illustrated Unix System V/Bsd
ISBN: 1556221878
EAN: 2147483647
Year: N/A
Pages: 144
Authors: Robert Felps

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net