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