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

sed线上经典案例之-同时替换多个字符串

时间:2015-04-28 00:04:58      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:sed实战案例

回答网友请教的一个问题:
配置文件如下:
[aaa]
cfg1=aaa
xxxx=bbb
cfg2=ccc
cfg3=ddd
[bbb]
cfg1=eee
yyyy=fff
cfg2=ggg
cfg3=hhh
cfg4=iii
[ccc]
cfg1=jjj
zzzz=kkk
cfg2=lll
cfg2=mmm
cfg2=nnn

输出结果:
[aaa]
cfg1=aaa
xxxx=111
cfg2=ccc
cfg3=ddd
[bbb]
cfg1=eee
yyyy=111
cfg2=ggg
cfg3=hhh
cfg4=iii
[ccc]
cfg1=jjj
zzzz=111
cfg2=lll
cfg2=mmm
cfg2=nnn

要求:将配置文件的每个节点的第二个配置改为111,用sed怎么写?
根据以上需求,现给出以下具体解决方法:
test.log为测试文件
[root@localhost test]# cat test.log

[aaa]

cfg1=aaa

xxxx=bbb

cfg2=ccc

cfg3=ddd

[bbb]

cfg1=eee

yyyy=fff

cfg2=ggg

cfg3=hhh

cfg4=iii

[ccc]

cfg1=jjj

zzzz=kkk

cfg2=lll

cfg2=mmm

cfg2=nnn

[root@localhost test]# sed -i \n ‘s/xxxx=bbb/xxxx=111/g;s/yyyy=fff/yyyy=111/g;s/zzzz=kkk/zzzz=111/g‘   test.log 

[root@localhost test]# cat test.log

[aaa]

cfg1=aaa

xxxx=111

cfg2=ccc

cfg3=ddd

[bbb]

cfg1=eee

yyyy=111

cfg2=ggg

cfg3=hhh

cfg4=iii

[ccc]

cfg1=jjj

zzzz=111

cfg2=lll

cfg2=mmm

cfg2=nnn 


本文出自 “兰州linux运维” 博客,请务必保留此出处http://linuxzkq.blog.51cto.com/9379412/1639363

sed线上经典案例之-同时替换多个字符串

标签:sed实战案例

原文地址:http://linuxzkq.blog.51cto.com/9379412/1639363

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