0

当我使用这个命令

echo jones:Adrian W. Jones/OSD211/555-0123 | sed -e 's=^([^:]*):[^/]*/([^/]*)/.*$=\1:\2='

我得到:sed:命令乱码:s=^([^:] ):[^/] /([^/] )/。$=\1:\2=

但是当我使用这个时:

echo jones:Adrian W. Jones/OSD211/555-0123 | sed -e 's=^\([^:]*\):[^/]*/\([^/]*\)/.*$=\1:\2='

我得到了:琼斯:OSD211

为什么我要逃避(in sed?

4

1 回答 1

1

默认情况下,sed 使用 BRE。在 BRE 中,(是字面意思(,您必须对其进行转义以使其具有特殊含义(分组)

ps Gnu sed 具有-r启用 ERE 的选项。

于 2013-08-14T21:07:17.190 回答