由一个实例浅析sed用法
admin
2023-03-19 17:21:43
0

首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:

[root@func-lms-001 ~]# cat 123.txt 
james
curry
  durant
wade
yaoming
     messi
[root@func-lms-001 ~]#


如果我们想在james前面加上lebron,那么采用的sed语句就是:#sed -i '/^james/s/^/lebron /' 123.txt,如果要在curry后面加上 champion,那么采用的语句就是:#sed -i '/^curry/s/$/ champion!/' 123.txt


使用完上面两句话之后,再#cat一下,看下效果:

[root@func-lms-001 ~]# cat 123.txt 
lebron james
curry champion!
  durant
wade
yaoming
     messi
[root@func-lms-001 ~]#


现在我们要把 durant前面加上FMVP这几个字母,按照上面的语句找葫芦画瓢的话,应该是:#sed -i '/^durant/s/^/FMVP /' 123.txt但是很抱歉,这个语句是错误的!因为^是匹配开头durant的意思,而我们再看一下durant那一行的开头是空格。


那么就要用liunx的正则来匹配空格,于是这句话就变成了:#sed -i '/^\s\+durant/s/^/FMVP/' 123.txt ,^\s\+这个就是正则里匹配空格的意思 。


#cat一下:

[root@func-lms-001 ~]# cat 123.txt 
lebron james
curry champion!
FMVP   durant
wade
yaoming
     messi
[root@func-lms-001 ~]#


那么现在要在messi后面加上"GOAL !!!",就很简单了。语句是:#sed -i '/^\s\+messi/s/$/ GOAL !!!/' 123.txt


以上我们把有/无空格情况下的首尾添加字符都练习了一遍,下面我们要看看如果要在中间添加怎么办?


比如说,有一天苦逼的运维接到开发PL的邮件,说”由于安全基线要求,现在需要监听内网端口“,具体的需求就是把所有含tomcat的模块里的server.xml的文件里添加上内网IP。


原有的server.xml的节选如下:

    
           

           
                   
           
           
                   
                                   
                   

现在要把 这一句里面加上内网IP,改成这样:


               

               
                       
               address="1.2.3.4"
protocol="AJP/1.3" redirectPort="8443" />
               
                       
                                       
                       

请问怎么做?

答案1:

sed -i '/

答案2:

sed -i 's@Connector port="8099"@& address="1.2.3.4"@' server.xml



相关内容

热门资讯

AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...
原创 王... 菲尔兹奖名单一出,邓煜和王虹两位华人数学家共同获奖,本应是一件令人振奋的喜讯。然而,王虹那段仅3分1...
《万物》杂志首个阅读空间亮相正... 26日,由国内知名的青少年家庭科普期刊《万物》杂志与广州正佳自然科学探索中心联合打造的阅读互动空间—...
从康复机器人到脑机接口 智能康... 天津北方网讯:对脑卒中患者来说,重新抬起手臂、迈出一步,往往需要持续的康复训练,逐步恢复运动功能;对...
原创 苹... 当苹果、谷歌、斯坦福、麻省理工都无法留住一位年轻的中国AI天才时,究竟是什么力量吸引他毅然回国?为何...
为什么新能源车供应链要本地化? 当前汽车产业变革加速,电动化成为核心发展方向。车企为了在激烈市场中站稳脚跟,必须优化生产结构。其中,...
携程罚单的真正影响,不是酒店变... 文 | 听风译码 7月25日,市场监管总局对携程开出51.79亿元天价罚单。 全网叫好。 但如果你...
自己管理自己,我国成功发射两颗... 7月24日消息,力箭一号遥十五运载火箭今日在东风商业航天创新试验区成功发射,以“一箭5星”方式将5颗...