RHCE7認證學習筆記18——正規表示式grep使用

luashin發表於2016-03-14

一、萬用字元
    [ ]:匹配中括號裡面的一個字元;
            表示字母[a-z],[0-9]表示數字,

            括號裡面的 ^ 表示否,等同於!,如[^a-z],[!0-9]

     
    \:跳脫字元:[a\-z]   

    ?:匹配任意一個字元;

    *:0個或者任意多個字元;

    類字元:

            [[:upper:]]

            [[:lower:]]

            [[:digit:]]

            [[:alpha:]]

            [[:alnum:]]

            [[:blank:]]

 

    yum是shell的子程式,如果在shell直接使用yum install xysfedfs*,則先會在shell中解析*,而不是在yum源中直接解析,如果不需要再shell中解析,則應該使用\或者''引起來,yum install xseds\*

    *或者?是不能匹配.符號:開啟擴充套件萬用字元則可;
   

 

二、正規表示式

    grep對元字元的支援有限,可以使用grep -E或者egrep

    元字元:

            ^:開頭

            $:末尾

            .:一個任意字元,在萬用字元中沒有意義

            ?:匹配前面0或者1個字元

            +:匹配前面字元至少含有1個字元;

            *:匹配前面0個或多個字元;

            {m,n}:匹配前面字元m到n個;

            \<:以單詞開頭

            \>:以單詞結尾;

            反向引用: ()  \1 引用第一個括號匹配的內容, \2匹配第二個括號匹配的內容,以此類推

    貪婪模式匹配:+

    最少模式匹配:  +?,
           

三、查詢某張網路卡的IP地址
   
[root@linuxidc ~]# ifconfig ens38 | grep 'inet '|grep -oE '([[:digit:]]{1,3}.){3,}'|grep -vE '^255|0$|255$'
192.168.10.10

[root@linuxidc ~]# ifconfig ens38 | grep 'inet '|awk '{print $2}'
192.168.10.10

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2056759/,如需轉載,請註明出處,否則將追究法律責任。

相關文章