由一个实例浅析sed用法
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:[root@func-lms-001 ~]# cat 123.txt jamescurry durantwadeyao
千家信息网最后更新 2024年11月28日由一个实例浅析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安全错误
数据库的锁怎样保障安全
百度百科网络安全和信息化座谈会
u8扩展自定义项表数据库
常州应用软件开发服务
佛山软件开发有几家
我的世界服务器老是断
软件开发的别名叫什么
任务发放软件开发
苹果手机清理软件开发
开票 软件开发服务 单位
濮阳职业技术学院软件开发
双公示数据库名称是什么
kis 数据库
比较好的网络安全公众号
深圳爱尚软件开发有限公司
组的数据库类型是什么
福建常见软件开发市场报价
建立订单数据库
东原物业软件开发
server数据库每年使用费
软件开发软件建模是必须的吗
互联网软件开发有哪些问题
咨询网络安全的电话
忻州网络技术哪家好
梦幻西游2最强服务器
网络安全教育20个字
多功能软件开发代理
神武那个服务器人多
软件开发过程不成熟的案例
如何获取php数据库结果
数据存储服务器是什么