首页 > 其他 > 详细

[sed]记录

时间:2014-07-22 22:49:02      阅读:350      评论:0      收藏:0      [点我收藏+]

sed的括号本身没有特殊意义,如果要保留通配内容,需要转义。

echo "1) host" |sed  ‘s/1) ([a-z])/$1) $1/‘

有两处有问题。

1. 首先是上面说的问题,上面的意思是要匹配 1) (b)这种字符串,而且没有变量捕获的意义,所以后面的$1不是一个变量。

2.在sed中替换前面捕获的内容使用直接保存在数字变量中,而不是使用$1 $2类似的字符。故替换部分1即代表前面第一个括号中的内容。

但1本身代表1这个数字,所以需要转义。

正确写法:

echo "1) host" |sed ‘s/1) \([a-z]\)/\1) \1/‘

[sed]记录,布布扣,bubuko.com

[sed]记录

原文:http://www.cnblogs.com/silenceli/p/3855878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!