我想寻找字符串“methodname(”,但我无法逃脱“(”。我怎样才能得到
grep methodname( *
或者
ack-grep methodname( *
去工作?
有两件事可以解释(
: shell 和ack-grep
.
您可以使用''
, ""
, 或从外壳\
中转义,例如(
grep 'methodname(' *
grep "methodname(" *
grep methodname\( *
grep
默认情况下使用基本的正则表达式语言,所以(
并不特别。(如果您使用egrep
orgrep -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(
$