我想寻找字符串“methodname(”,但我无法逃脱“(”。我怎样才能得到
grep methodname( *
或者
ack-grep methodname( *
去工作?
有两件事可以解释(: shell 和ack-grep.
您可以使用'', "", 或从外壳\中转义,例如(
grep 'methodname(' *
grep "methodname(" *
grep methodname\( *
grep默认情况下使用基本的正则表达式语言,所以(并不特别。(如果您使用egreporgrep -E或grep -P。)
另一方面,ack-grep将 Perl 正则表达式作为输入,其中(也很特殊,因此您也必须对其进行转义。
ack-grep 'methodname\(' *
ack-grep "methodname\\(" *
ack-grep methodname\\\( *
ack-grep 'methodname[(]' *
ack-grep "methodname[(]" *
ack-grep methodname\[\(\] *
尝试\在(.
小演示:
$ cat file
bar
methodname(
foo
$ grep -n methodname\( file
2:methodname(
$
用单引号或双引号将模式括起来也可以:
$ grep -n 'methodname(' file
2:methodname(
$ grep -n "methodname(" file
2:methodname(
$