码迷,mamicode.com
首页 > 其他好文 > 详细

[sed]记录

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

标签:使用   os   问题   c   字符串   第一个   

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]记录

标签:使用   os   问题   c   字符串   第一个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!