
Estou procurando linhas que tenham literalmente um caractere maior que (um ">") seguido por um espaço seguido por um caractere de barra invertida (um "\") ou seja, uma linha com isto: > \
Achei que escapar permitiria isso, e para maior do que isso:
$ ack-grep "\>"
retorna linhas que contêm ">".
Mas quando tento escapar da barra invertida também recebo:
$ ack-grep "\> \\"
ack-grep: Regex inválida '\> \':
Trailing \ em regex m/\> /
Responder1
Nossa, eu estava tão perto... aspas simples:
$ ack-grep '\> \\'
Descobri isso depois de confirmar que minha correspondência de regex era válida usando: http://regexpal.com/ e por acaso tive aspas simples ao tentar outra coisa.
Responder2
Isso também funciona:
$ ack-grep '> \\'
e o mesmo acontece:
$ ack-grep "> \\\\"
O maior que não precisa ser escapado.
Responder3
Para pesquisar strings literais, use a opção literal:
ack-grep --literal '> \'
Responder4
Observe que o problema aqui não é com o ack, mas com a citação do shell. Você teria esse problema com qualquer programa que estivesse tentando passar "> \" como argumento.