Para procurar um caractere parêntese, passe barra invertida + parêntese para ack.
As barras invertidas e os parênteses são especiais no shell, portanto, é necessário citá-los quando você os digita em um script de shell ou na linha de comando. A forma mais simples de citar é com aspas simples: isso diz ao shell para passar tudo literalmente, exceto as própriaspas simples.
ack '\('
Você também pode usar barras invertidas para proteger caracteres especiais da expansão do shell, mas ela tende a ser menos legível:
ack \\(
A primeira barra invertida cita a segunda no shell, de forma que o primeiro caractere do argumento para ack
seja \
. A terceira barra invertida cita os parênteses, portanto, o segundo caractere do argumento para ack
é (
. Como no caso das aspas simples acima, o argumento de que ack
é a cadeia de dois caracteres \(
.
ack (
não funciona porque o shell vê um parêntese de abertura e o trata como sintaxe do shell. ack \(
não funciona porque o shell passa (
como argumento para ack
e ack interpreta os parênteses na expressão regular como indicando o início de um grupo.