sed线上经典案例之-同时替换多个字符串
2015-04-27 17:02
288 查看
回答网友请教的一个问题:
配置文件如下:
[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
配置文件如下:
[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
相关文章推荐
- java 字符串替换函数replaceAll 一次同时替换多个字符串
- js同时替换多个字符串
- Python同时替换多个字符串
- sed复杂字符串替换使用案例记录
- LoadRunner替换字符串(可以同时替换多个)
- java 字符串替换函数replace ,如何同时替换多个字符串?
- SED替换字符串用法
- Linux中使用sed命令替换字符串小结(转)
- Linux批量替换某种类型文件中的字符串-sed和grep命令使用
- os x下使用sed进行字符串替换
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- Sed 替换字符串
- sed 替换特定字符,字符串
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来。
- sed命令实现文件内容替换总结案例
- sed 批量替换字符串
- Linux中使用sed命令替换字符串小结
- sed awk LT经典案例
- Linux sed 替换第一次出现的字符串
- 字符串多个范围替换