全部博文(30)
分类: 系统运维
2015-04-27 16:53:56
回答网友请教的一个问题:
配置文件如下: [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 '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
|