A Quick Introduction to Unix/More grep examples
Anchors
[edit | edit source]Beginning of line
[edit | edit source]A search can be constrained to find the string at the beginning of the line with the symbol ^. Example:
grep '^A' filename
Finds the string A at the beginning of lines.
End of line
[edit | edit source]A search can be constrained to find the string at the end of the line with the symbol $. Example:
grep '5$' filename
Finds the string 5 at the end of lines.
Counting empty lines
[edit | edit source]The combination search string ^$ finds empty lines.
To match any single character
[edit | edit source]The meta-character . matches any single character except the end of line character.
Example
[edit | edit source]The input file contains these lines:
one
bone
throne
clone
We search with
grep '.one' filename
The results are
bone
throne
clone
The first line doesn't match.
To match zero or more characters
[edit | edit source]The meta-character * matches zero or more occurences of the previous character.
Example
[edit | edit source]The input file bells containes these lines
bel
bell
belll
be
bet
We search with
grep 'bel*' bells
The results are
bel
bell
belll
be
bet
Example
[edit | edit source]The input file is as the previous example. The . is used after the * to require at least a single character.
We search with
grep 'bel*.' bells
The results are
bel
bell
belll
Contrast this with the previous example. Here, we match everything except be.
Example
[edit | edit source]The input file is as before.
We search with
grep 'bel.*' bells
The results are
bel
bell
belll
Character lists
[edit | edit source]You can use a list of characters surrounded by [ and ] which will match on any single character in the list.
Example
[edit | edit source]The input file is lines:
This is the zero line
Here y
Crosses x
we search with
grep [xyz] lines
The result is
This is the zero line
Here y
Crosses x
Example
[edit | edit source]The input file is as before.
we search with
grep [xyb] lines
The result is
Here y
Crosses x