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

sed线上经典案例之-同时替换多个字符串的更多相关文章

  1. 前端通信:SSE设计方案(二)--- 服务器推送技术的实践以及一些应用场景的demo(包括在线及时聊天系统以及线上缓存更新,代码热修复案例)

    距离上一篇博客,这篇文章的发布大概过了整整三个月.我也从饿了么度过了试用期,成为了正式员工.刚进来恰好遇到项目底层改造和迁移,将项目从angular全部迁移到vue上,所以适应这边的节奏和业务的开发任 ...

  2. 调试工具-fiddler:本地资源替换线上调试

    Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这 ...

  3. 用fiddler替换线上网页资源调试界面

    fiddler 是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有进出fiddler的数据(指cookie,html,js,css等文件,这些都 ...

  4. 不停机替换线上代码? 你没听错,Arthas它能做到

    写在前边 有没有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,线上调试代码又很麻烦,让人头疼得很.阿里巴巴出了一款名叫Arthas的工 ...

  5. 转载:MySQL:亲测备份策略实例(线上真实备份案例)

    是否为线上库的备份而烦恼过,这里提供一个完整的备份从属数据库的备份方案,亲测可用 说明: 备份从库,按周计,每周进行一次全备 每周一的早上六点进行全备,其他时间备份中继日志 在从库上启用rsync服务 ...

  6. 线上Slave报1062的案例

    最近经常线上的Slave老报1062的错误,蛋碎一地,幸好Slave暂时没有用到业务上,也就是说没有做读写分离,所以Slave有问题,影响也不大,但每隔一阵子就报1062主键冲突的错误,让我好纠结,如 ...

  7. 记一次log4j日志导致线上OOM问题案例

    最近一个服务突然出现 OutOfMemoryError,两台服务因为这个原因挂掉了,一直在full gc.还因为这个问题我们小组吃了一个线上故障.很是纳闷,一直运行的好好的,怎么突然就不行了呢... ...

  8. 线上MySQL慢查询现象案例--Impossible WHERE noticed after reading const tables

    前言:2012年的笔记整理而得,发布个人博客,做备忘录使用. 背景:线上慢查询日志监控,得到如下的语句:       发现:select doc_text from t_wiki_doc_text w ...

  9. 案例分享 | dubbo 2.7.12 bug导致线上故障

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star.搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读. ...

随机推荐

  1. Firefly distributed模块的原理与twisted中PB远程调用协议

    这些天断断续续在看Firefly, 看了一下distributed模块的设计,其实就是使用的twisted.spread.pb觉得以后要是想用Firefly有必要了解一下twisted, 所以在网上查 ...

  2. [Effective C++ --026]尽可能延后变量定义式的出现时间

    引言 每一次构造和析构都需要成本,因此我们在设计代码的时候,应该尽可能考虑到构造和析构的成本. 第一节 延后实现 考虑有以下的代码: void encrypt(string& s); stri ...

  3. 文件I/O(不带缓冲)之lseek函数

    每个打开的文件都有一个与其相关联的“当前文件偏移量”(current file offset).它通常是一个非负整数,用以度量从文件开始处计算的字节数.通常,读.写操作都从当前文件偏移量处开始,并使偏 ...

  4. 如何安装SQL Server 2008数据库(带完整图解)

    在电脑上安装SQL Server 2008 软件时,经常会遇到各种各样的问题,如何成功的安装SQL Server 2008呢?提供完整过程和图片详解. 工具/原料 电脑一台 软件:sql server ...

  5. C#_delegate EndInvoke

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. 解决FLASH最高层的问题,让FLASH置于div之下

    三个步骤:1.设置div 的 z-index:9999 //在最上面显示 这一步就可以保证div在img之上2.<param name="wmode" value=" ...

  7. Java基础知识强化之网络编程笔记20:Android网络通信之 Android常用OAuth登录和分享

    1.  申请百度开发者账号及百度OAuth简介. (1)申请开发者账号: http://developer.baidu.com/ (2)创建项目: http://developer.baidu.com ...

  8. android开发之路02(浅谈BroadcastReceiver)

    一.BroadcastReceiver (广播接收者)的作用是用来接收来自系统和应用中的广播.应用如下: 1.开机完成后系统会产生一条广播----->接收到这条广播就能实现开机启动服务的功能: ...

  9. 随便写写,当作了解--Css

    Css,Cascading Style Sheets,层叠样式表.用于控制HTML页面样式.他的基本格式由两部分组成: 选择器 声明块 一.使用 css的注释用 /* 注释内容 */ 1.导入外部样式 ...

  10. (转)STL

    C++容器类 C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等:后者包括set,map,multiset,multimap等. 若需要存储的元素数在 ...