摘要:建站服务器 首先,假设我们有一个文件,叫123.txt,#cat一下看到里面的内容是这样的:[root@func-lms-001 ~]# cat 123.txt james curry duran
建站服务器
首先,假设我们有一个文件,叫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的节选如下:
<Service name=LMS>
<Connector port=8080 connectionTimeout=20000 protocol=org.apache.coyote.http11.Http11NioProtocol redirectPort=8443 enableLookups=false disableUploadTimeout=true maxThreads=500 minSpareThreads=20 acceptCount=100/>
<Connector port=8088 connectionTimeout=20000 protocol=org.apache.coyote.http11.Http11NioProtocol redirectPort=8443 enableLookups=false disableUploadTimeout=true maxThreads=500 minSpareThreads=20 acceptCount=100/>
<Connector port=8099 protocol=AJP/1.3 redirectPort=8443 />
<Engine defaultHost=localhost name=Catalina>
<Realm className=org.apache.catalina.realm.LockOutRealm>
<Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase />
</Realm>
现在要把<Connector port=8099 protocol=AJP/1.3 redirectPort=8443 /> 这一句里面加上内网IP,改成这样:
<Service name=LMS>
<Connector port=8080 connectionTimeout=20000 protocol=org.apache.coyote.http11.Http11NioProtocol redirectPort=8443 enableLookups=false disableUploadTimeout=true maxThreads=500 minSpareThreads=20 acceptCount=100/>
<Connector port=8088 connectionTimeout=20000 protocol=org.apache.coyote.http11.Http11NioProtocol redirectPort=8443 enableLookups=false disableUploadTimeout=true maxThreads=500 minSpareThreads=20 acceptCount=100/>
<Connector port=8099 address=1.2.3.4 protocol=AJP/1.3 redirectPort=8443 />
<Engine defaultHost=localhost name=Catalina>
<Realm className=org.apache.catalina.realm.LockOutRealm>
<Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase />
</Realm>
请问怎么做?
答案1:
sed -i \'/<Connector port=8099/s/port=8099/port=8099 address=1.2.3.4/g\' server.xml
答案2:
sed -i \'s@Connector port=8099@& address=1.2.3.4@\' server.xml
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28