All Articles

The ABC's of grep - E

E

Use the -E or -e flag to treat your search term as a regular expression. The lowercase -e is used for basic regular expressions which includes: ^$.[]*. The uppercase -E includes the extended regular expressions: (){}?~|.

Let’s go back to our file test.txt with the following content:

sad
happy
awake
coffee
work
school

Suppose we wanted to use a regular expression that searches for all the words that ends in “e”. We would do something like this:

$ grep -e "e$" test.txt
awake
coffee

In reality, this already happens by default. You could easily run the same grep command without the -e flag and get the same results. The real power is being able to use -e multiple times to construct the perfect search. Let’s say we wanted to search for all words that end in “e” or starts with “w”.

We could accomplish that like this:

$ grep -e "e$" -e "^w" test.txt
awake
coffee
work

If you wanted to use the extended regular expressions like the | symbol, you must use -E. For example this is the search for lines with “sad” or “happy”:

$ grep -E "sad|happy" test.txt
sad
happy

Using -e with the above would return zero rows.

Want to see this in action? Check out the video below.

Published Oct 29, 2023

I love coffee, coding and writing.