由一个实例浅析sed用法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:[root@func-lms-001 ~]# cat 123.txt jamescurry durantwadeyao
千家信息网最后更新 2026年11月02日由一个实例浅析sed用法
首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:
[root@func-lms-001 ~]# cat 123.txt jamescurry durantwadeyaoming 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 jamescurry champion! durantwadeyaoming 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 jamescurry champion!FMVP durantwadeyaoming messi[root@func-lms-001 ~]#
那么现在要在messi后面加上"GOAL !!!",就很简单了。语句是:#sed -i '/^\s\+messi/s/$/ GOAL !!!/' 123.txt 。
以上我们把有/无空格情况下的首尾添加字符都练习了一遍,下面我们要看看如果要在中间添加怎么办?
比如说,有一天苦逼的运维接到开发PL的邮件,说"由于安全基线要求,现在需要监听内网端口",具体的需求就是把所有含tomcat的模块里的server.xml的文件里添加上内网IP。
原有的server.xml的节选如下:
现在要把
protocol="AJP/1.3" redirectPort="8443" />
address="1.2.3.4"
请问怎么做?
答案1:
sed -i '/答案2:
sed -i 's@Connector port="8099"@& address="1.2.3.4"@' server.xml
语句
就是
空格
开头
意思
文件
正则
答案
安全
抱歉
一行
内容
基线
字母
字符
怎么办
情况
效果
模块
比如说
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技信息互联网
紫鲸互联网科技
奇酷互联网络科技公司
互联网女皇 腾讯科技
新浪科技互联网
互联网科技素材视频竖屏
甘肃拓世互联网科技有限公司
山东吉时兔互联网科技有限公司
广西互联网科技孵化中心
乌苏新华互联网科技做什么的
本届互联网博览会上的黑科技
互联网科技的全部知识
互联网科技如何创业
滨湖区互联网智能科技产品有哪些
沐思想互联网科技有限公司
工业互联网科技成果转化
福州德业互联网科技
互联网科技企业商标注意事项
广州智享互联网科技
科技美学互联网 艺术
国智互联网科技
互联网扶贫科技
青岛互联网科技公司
致骋互联网科技
互联网金融科技委员会
互联网保险科技创业
黑云互联网科技有限公司
万物互联网智能科技
互联网金融运营模式中的金融科技
玉溪新华互联网科技怎么选