I am looking for lines that literally have a greater than character (a ">") followed by a space followed by a backslash character (a "\") i.e., a line with this: > \
I thought escaping would allow this, and for the greater-than it does:
$ ack-grep "\> "
returns lines that have "> " in them.
But when I try to escape the backslash as well I get:
$ ack-grep "\> \\"
ack-grep: Invalid regex '\> \':
Trailing \ in regex m/\> /
Wow, I was so close ... single quotes:
Figured this out after confirming that my regex match was valid using: http://regexpal.com/ and just happened to have had single quotes from trying something else.
This also works:
and so does:
The greater-than doesn't need to be escaped.
To search literal strings, use the literal option:
Please note that the issue here is not with ack but with the shell quoting. You'd have this problem with any program that you were trying to pass in "> \" as an argument.