Read expression for grep from standard input

Dor picture Dor · Jul 10, 2011 · Viewed 39.4k times · Source

How can I make grep read the expression from standard input (stdin)?

For example (the following doesn't work):

grep -i -f &0 /path/to/text/file < "/regexp/"

Answer

thkala picture thkala · Jul 10, 2011

Use -f with a single dash to denote the standard input:

$ echo Content | grep -f - notice.html 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
...

Note: This has been tested with GNU grep - I am not sure if it's specified by POSIX.