首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

sed解决方法

2013-08-04 
sed[root@localhost ~]# cat test#显示test的内容He love his love.She like her like.Dove love her like

sed
[root@localhost ~]# cat test        #显示test的内容
He love his love.
She like her like.
Dove love her like.
[root@localhost ~]# sed 's@\(l..e\)\.@\1r.@' test  #在最后一个单词后面加r,注意第.
He love his lover.                                                #前面要加转义字符\
She like her liker.
Dove love her liker.

请帮解释下 sed 's@\(l..e\)\.@\1r.@' test这句是怎么个意思?
是以什么做定界符呢?
[解决办法]
以@做定界符
[解决办法]
以@做定界符,sed的定界符可选。

\(l..e\) 匹配以l开头,以e结尾且中间有两个字符的单词。

\1 代表先前匹配到的\(l..e\) ,\1r就是\(l..e\)r

s@\(l..e\)\.@\1r.@  s表明替换,即将匹配到的1..e.替换成l..er.   最后一个.由于有转义符\,无特殊意义,就是匹配字符“.” 因些只会将love.替换成lover.

推荐你看本书,非常好
sed和awk程序设计(第二版)

热点排行