+ -
当前位置:首页 → 问答吧 → sed 中正则表达式()的问题

sed 中正则表达式()的问题

时间:2011-03-15

来源:互联网

echo "(123)4567890" | sed -e "s/\(123\)/\(999\)/g"

我认为结果应该是:(999)4567890
但是结果:(123)4567890

请高手给兄弟指点一二。

谢谢。

作者: sunguangshou   发布时间: 2011-03-15

回复 sunguangshou


    结果不是::(123)4567890
而是:((999))4567890

你可以把表达式改为: echo "(123)4567890" | sed -e "s/\(123\)/999/g"

作者: db2-zhang   发布时间: 2011-03-15

回复 sunguangshou


    什么系统


echo "(123)4567890" | sed -e "s/\(123\)/999/"

作者: wtuter   发布时间: 2011-03-15

本帖最后由 jason680 于 2011-03-15 16:28 编辑


QUOTE:
echo "(123)4567890" | sed -e "s/\(123\)/\(999\)/g"

我认为结果应该是999)4567890
但是结果:(123) ...
sunguangshou 发表于 2011-03-15 15:40



echo "(123)4567890" | sed -e 's/(...)/(999)/g'
or
echo "(123)4567890" | sed -e 's/(123)/(999)/g'

作者: jason680   发布时间: 2011-03-15

匹配()不需转义

作者: li2002   发布时间: 2011-03-15

[root@ www]# echo "(123)4567890" | sed -e "s/\(123\)/\(999\)/g"
((999))4567890

作者: 南极雨   发布时间: 2011-03-15