博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sed线上经典案例之-同时替换多个字符串
阅读量:6866 次
发布时间:2019-06-26

本文共 918 字,大约阅读时间需要 3 分钟。

回答网友请教的一个问题:
配置文件如下:
[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 

本文转自 linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1639363

转载地址:http://qvkfl.baihongyu.com/

你可能感兴趣的文章
阿里云ACE 你知道多少?
查看>>
C#简单工厂模式——初遇GoF设计模式
查看>>
ibatis-返回结果通过resultMap封装
查看>>
linux操作系统语言更改
查看>>
MAC下LaTex环境配置
查看>>
ffmpeg视频转换及截图
查看>>
前端面试题目搜集
查看>>
锁的阻塞,死锁,锁升级
查看>>
json深度详解及org.json库
查看>>
substr_replace()函数:将手机号中间4位隐藏为*号
查看>>
mdadm:/dev/md0 not identified in config file
查看>>
运维知识点
查看>>
linux下定时运行打开网页url链接
查看>>
Mysql知识点
查看>>
Linux网卡高级命令、IP别名及多网卡绑定
查看>>
Git自动部署
查看>>
nginx rewrite 指令last break区别
查看>>
Go语言之类型
查看>>
把网站生成EXE文件运行,可封装网站源码/支持源码多重加密
查看>>
Goldengate单向大事务复制性能测试
查看>>