由一个实例浅析sed用法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:[root@func-lms-001 ~]# cat 123.txt jamescurry durantwadeyao
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
掌中生活的服务器在哪里
网吧电脑网络安全么
电子网络技术是什么
塔山服务器可以加油吗
静安区咨询软件开发代理价钱
qq语音和图片删除数据库
如何添加服务器端口
计算机网络技术专业找工作
如何寻找软件开发项目
数据库应用开发哪个专业好
河北web前端软件开发多少钱
开题答辩 软件开发
软件开发经理 35岁
滨州财务软件开发
计算机网络安全的功能有哪些
网络安全教育通知
医疗领域 软件开发
上海云服务器厂家直供
有线电视网络技术考试
哪里买书软件开发
不同数据库信息错误
应用软件开发技术是什么
我的常州网络安全宣传周答案
炫舞体验服务器下载
开票软件税控盘连接服务器失败
数据库服务器主要组网方式
举例说明空间数据库的设计步骤
徐汇区管理网络技术市价
mysql之前的数据库
连不上金蝶服务器