Unix – How to grep for a string that begins with a dash/hyphen

escapinggrepunix

I want to grep for the string that starts with a dash/hyphen, like -X, in a file, but it's confusing this as a command line argument.

I've tried:

grep "-X"
grep \-X
grep '-X'

Best Answer

Use:

grep -- -X

Related: What does a bare double dash mean? (thanks to nutty about natty).