首頁 > 軟體

Linux基礎教學學習筆記18——正規表示式grep使用

2020-06-16 18:03:55

Linux基礎教學學習筆記18——正規表示式grep使用

一、萬用字元
    [ ]:匹配中括號裡面的一個字元;
            表示字母[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

grep使用簡明及正規表示式  http://www.linuxidc.com/Linux/2013-08/88534.htm

Linux下Shell程式設計——grep命令的基本運用 http://www.linuxidc.com/Linux/2013-06/85525.htm

grep 命令詳解及相關事例 http://www.linuxidc.com/Linux/2014-07/104041.htm

Linux基礎命令之grep詳解 http://www.linuxidc.com/Linux/2013-07/87919.htm

設定grep高亮顯示匹配項 http://www.linuxidc.com/Linux/2014-09/106871.htm

Linux grep命令學習與總結 http://www.linuxidc.com/Linux/2014-10/108112.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-03/115275.htm


IT145.com E-mail:sddin#qq.com