I am trying to recursively find some pattern which contains meta character.Pattern that I searching for is template <int N> I have tried :grep -F -lir template <int N>  *    # trying to find template <int>                                      # -F treat meta char as normal charI get:      grep: \<int: No such file or directory        grep: N\>: No such file or directory     ..     ...
How to grep and treat meta character as normal character?
shell;grep;quoting
Try using fgrep (or the -F option to grep that does the same), and write your query without escaping the < and >.  I'd also suggest using single-quotes ' rather than double-quotes , since the shell may expand what it think is variables and such when you use double-quotes.fgrep -i 'template <int N>' *