久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      正則表達(dá)式應(yīng)用非常廣泛,例如:php,Python,java等,但在linux中最常用的正則表達(dá)式的命令就是grep(egrep),sed,awk等,換句話 說linux三劍客要想能工作的更高效,就一定離不開正則表達(dá)式的配合。

      1、什么是正則表達(dá)式?

      簡單的說,正則表達(dá)式就是為處理大量的字符串而定義的一套規(guī)則和方法。通過定義的這些特殊符號的輔助,系統(tǒng)管理員就可以快速過濾、替換或者輸出需要的字符串。linux正則表達(dá)式一般以行為單位處理的。

      2、為什么要學(xué)正則表達(dá)式

      在企業(yè)工作中,我們每天做的linux運(yùn)維工作中,時刻都會面對大量帶有字符串的文本配置、程序、命令輸出及日志文件等,而我們經(jīng)常會有迫切的需要從大量的字符串內(nèi)容中查找符合工作需要的特定字符串,這就要靠正則表達(dá)式,因此,可以說正則表達(dá)式就是為過濾這樣字符串的需求而生的!

      3、容易混淆的兩個注意事項:

      1)linux正則表達(dá)式一般是以行為單位處理的。

      2)正則表達(dá)式和我們常用的通配符特殊字符是有本質(zhì)區(qū)別的,例如:ls *.txt 這里的*就是通配符(表示所有),不是正則表達(dá)式。

      注意字符集問題:

      確保字符集:export LC_ALL=C

      ———————————————

      基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式含義解釋:

      ———————————————

      .   代表且只能代表任意一個字符(不包括空行)
      *   重復(fù)前面任意0個或多個字符
      .*   匹配所有字符。(包括空行)
      sed -ri ‘s#(.*)#1#g’ bqh.txt
      把前面正則匹配的括號內(nèi)的結(jié)果,在后面用1取出來操作。
      ^   表示以什么開頭,^bqh 以bqh開頭
      $   是以什么結(jié)尾
      ^$   表示空行。
      例.   就只代表點(diǎn)本身,轉(zhuǎn)義符號,讓有著特殊身份移動的字符,脫掉馬甲,還原原型$
      ^.*   以任意多個字符開頭。
      .*$   以任意多個字符結(jié)尾。
      (.*)   從第一字符匹配,到空格停止,
      [abc]   匹配字符集合內(nèi)的任意一個字符【a-zA-Z】
      [^abc]   匹配不包括^后的任意字符的內(nèi)容;中括號里的^為取反,注意和以…開頭區(qū)別。
      a{n,m}   重復(fù)n到m次,前一個重復(fù)的字符。如果有用egrep/sed -r 可以去掉斜線。
      {n,}   重復(fù)至少n次,前一個重復(fù)的字符。如果有用egrep/sed -r 可以去掉斜線。
      {n}   重復(fù)n次,前一個重復(fù)的字符。如果有用egrep/sed -r 可以去掉斜線。
      ①^word   搜索以word開頭的;vi ^ 一行的開夠
      ②word$   搜索以word結(jié)尾的;vi $ 一行的開頭
      ③^$   表示空行。
      擴(kuò)展的正則表達(dá)式:ERP(egrep或grep -E)

      +   重復(fù)一個或一個以上前面的字符
      ? 復(fù)0個或一個0前面的字符
      |   用或的方式查找多個符合的字符串
      ()  找出“用戶組”字符串

      實戰(zhàn)舉例:

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      ^m 搜索以m開頭的

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式) 

      p$搜索以p結(jié)尾的

       詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      ^$表示空號

       詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      去掉空行:grep Cv “^$” bqh.log

      查看去掉的后的空行內(nèi)容:grep -vn “^$” bqh.log 

       詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      .   代表且只能代表任意一個字符(不包括空行)

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      查找?guī)?的字符:

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      .*   匹配所有字符。(包括空行)

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      查找以.結(jié)尾的字符:

      錯誤方法:grep “.$” bqh.log

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      正確方法:

      grep “.$” bqh.log 

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      注意:. 就只代表點(diǎn)本身,轉(zhuǎn)義符號,讓有著特殊身份移動的字符,脫掉馬甲,還原原型$

      *   例1*重復(fù)1個或多個前面的一個字符。

      grep Co “1*” bqh.log  //-o精確匹配

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      ^.*      以任意多個字符開頭。

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      .*$      以任意多個字符結(jié)尾。

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      [abc]    匹配字符集合內(nèi)的任意一個字符【a-zA-Z】

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      匹配字符集合內(nèi)的a-z任意一個小寫字符:

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      [^abc] 匹配不包括^后的任意字符的內(nèi)容;中括號里的^為取反,注意和以…開頭區(qū)別

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      匹配非數(shù)字的任意字符:

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      a{n,m}  重復(fù)n到m次,前一個重復(fù)的字符。如果有用egrep/sed -r /grep -E可以去掉斜線。

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      {n,}    重復(fù)至少n次,前一個重復(fù)的字符。如果有用egrep/sed -r 可以去掉斜線。

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      {n}    重復(fù)n次,前一個重復(fù)的字符。如果有用egrep/sed -r 可以去掉斜線。

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      注意:egrep,grep -E或sed -r過濾一般特殊字符可以不轉(zhuǎn)義。多使用參數(shù)。

       ———————————————————————————

      擴(kuò)展的正則表達(dá)式:ERP(egrep或grep -E)

      +   重復(fù)一個或一個以上前面的字符

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      ?  復(fù)0個或一個0前面的字符

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      |   用或的方式查找多個符合的字符串

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      ()  找出“用戶組”字符串

      詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式)

      總結(jié)

      以上所述是小編給大家介紹的詳解linux正則表達(dá)式(基礎(chǔ)正則表達(dá)式+擴(kuò)展正則表達(dá)式),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對網(wǎng)站的支持!

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號