This happens because grep
interprets ---
as an option instead of a text to look for. Instead, use --
:
grep -- "---" your_file
This way, you tell grep
that the rest is not a command line option.
Other options:
-
use
grep -e
(see Kent’s solution, as I added it when he had already posted it – didn’t notice it until now): -
use
awk
(see anubhava’s solution) orsed
:sed -n '/---/p' file
-n
prevents sed
from printing the lines (its default action). Then /---
matches those lines containing ---
and /p
makes them be printed.