Open Source Research and Development

Free and Open Source R&D Projects, Articles, and Reviews

Why grep ‘foo|bar’ file doesn’t work?

The bar | has no special meaning in BRE (basic regular expressions). Use extended regular expressions (ERE) such as:

grep -E 'foo|bar' file


egrep 'foo|bar' file

In GNU grep, you can also force the spcial meaning of | by escaping it. E.g.,

grep 'foo\|bar' file

Leave comment

Your email address will not be published. Required fields are marked with *.