91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

由一個實例淺析sed用法

發布時間:2020-07-06 10:35:05 來源:網絡 閱讀:827 作者:蘇幕遮618 欄目:建站服務器

首先,假設我們有一個文件,叫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



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鲁甸县| 车致| 海南省| 富民县| 英吉沙县| 嘉黎县| 安溪县| 罗甸县| 鄂尔多斯市| 嘉义市| 平罗县| 沁源县| 叶城县| 精河县| 福泉市| 灵山县| 鄂托克旗| 怀宁县| 武陟县| 依安县| 五家渠市| 垣曲县| 德兴市| 吉木萨尔县| 阳春市| 库伦旗| 吉安市| 佛坪县| 玉环县| 罗田县| 和田县| 密云县| 吉安县| 亳州市| 民权县| 那坡县| 上饶市| 萝北县| 建德市| 济宁市| 平南县|