a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

grep常用功能整理

2024-06-28 16:02:08
字體:
供稿:網(wǎng)友

最近在復(fù)習(xí)linux基礎(chǔ),發(fā)現(xiàn)grep是個非常值得復(fù)習(xí)整理的一個命令,今天分享一下

grep  [OPTIONS]  PATTERN  [FILE...]

OPTIONS: 參數(shù),常用的-i,-o,-v

PATTERN:文字字符或正則表達(dá)式

FILE:操作文件對象,可操作多個文件

常用參數(shù):

         -i:忽略大小寫

         -v:顯示文件所有行,默認(rèn)只顯示匹配到的行

         -o:只顯示匹配到的字符串

         -E:使用擴展的正則表達(dá)式

         -A#:#號代表任意非負(fù)整數(shù),顯示匹配到的行的同時,并顯示后續(xù)的#行,A可理解為After

         -B# :#號代表任意非負(fù)整數(shù),顯示匹配到的行的同時,并顯示其前面的#行,B可理解為Before

         -C# :#號代表任意非負(fù)整數(shù),顯示匹配到的行的同時,并顯示其前面的#行及后面的#行

上面是grep的一些常用操作,而在使用過程中,要想真正發(fā)揮grep的強大功能,必須結(jié)合正則表達(dá)式,下面來簡單介紹一下正則表達(dá)式的內(nèi)容:

正則表達(dá)式:Regular ExPRession :簡寫為REGEXP

正則表達(dá)式的元字符:

         *:匹配其前面的字符任意次,這點和我們常用的通配符*不太相同,切記!

         .:匹配任意單個字符,要想實現(xiàn)匹配任意長度的任意字符,可以用: .*

         ?:匹配其前面字符0或一次

         {m,n}:匹配其前面的字符至少m次,至多n次

         ^:行首標(biāo)志

         $:行尾標(biāo)志

         []:指定匹配范圍,其中的內(nèi)容為或的關(guān)系,整個只匹配一個字符,如[A-Z],指的是A-Z之間任意一個字母,常用的字符集合有:

                                                                 [:space:]空格

                                                                 [:digit:]數(shù)字

                                                                 [:lower:]小寫字母

                                                                 [:upper:]大寫字母

                                                                 [:alpha:]所有字母,包含大寫和小寫

                                                                 [:panct:]標(biāo)點符號

                                                                 [:almun:]所有字符

表示任意一個大寫字母,就可以使用[[:upper:]]

         /<:其后字符(串)作為單詞首部,如’/<abc’,表示匹配任意以abc開頭的詞

         />:其前字符(串)作為單詞尾部

         ():內(nèi)容分組,括號里面擴著的,為一組

         /#:#號位任意正整數(shù),后向引用,表示引用其前面的第#個分組

         |:邏輯或

         擴展正則表達(dá)式:

                   在元字符上,和上面提及的正則表達(dá)式差不多,差別在于擴展正則表達(dá)式在某些字符上面不需要進(jìn)行轉(zhuǎn)義,如(),[]等

上面說了那么多,大概大家都煩了,下面開始實戰(zhàn)一下:

         例一:找出/etc/passwd里為nologin的行

         命令:grep nologin /etc/passwd

         結(jié)果如下(內(nèi)容較多,只顯示部分內(nèi)容):

         例二:找出/etc/passwd里為mail的行,并顯示其前兩行,其后三行和前后各一行

         其后兩行:

                   [root@localhost ~]# grep -A 2 -i mail  /etc/passwd

         其前三行:

                   [root@localhost ~]# grep -B 3 -i mail  /etc/passwd

         前后三個一行:

                   [root@localhost ~]# grep -C 1 -i mail  /etc/passwd

         結(jié)果如下:

                  

         例三:在指定文件里面,找出形如l..e的字符串的行

         命令:

                   [root@localhost ~]# grep 'l..e'  test3.txt

        結(jié)果如下:

         例四:在指定文件里面,找出形如l..e的字符串

         命令:

                   [root@localhost ~]# grep -o 'l..e'  test3.txt

        結(jié)果如下:

         例五:在指定文件里,找出單獨為root字符串的行

         命令:

                   [root@localhost ~]# grep '^root$'  test2.txt

        結(jié)果如下:

         例六:在指定文件里,找出含有root詞的行

         命令:

                   [root@localhost ~]# grep '/<root/>'  test2.txt

        結(jié)果如下:

         例七:找出形如’l..e’,但前后要內(nèi)容要相同

         命令:

                   [root@localhost ~]# grep 'l/(../)e.*l/1e' test3.txt

        結(jié)果如下:

         例八:使用擴展正則表達(dá)式,完成例七內(nèi)容

         命令:

                   [root@localhost ~]# grep -E 'l(..)e.*l/1e' test3.txt

        

         例九:找出ifconfig里的類似0.0.0.0的內(nèi)容

命令:

         [root@localhost~]# ifconfig | grep -E '/<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/>'

結(jié)果如下:


上一篇:nginx編譯參數(shù)

下一篇:ntp nfs

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人午夜av | 伊人精品视频 | 高清久久久 | 黄色a视频 | 精品国产一区二区三区免费 | 中文字幕在线视频网站 | 国产精品色网站 | 亚洲国产婷婷香蕉久久久久久99 | a性片| 亚洲天堂一区二区 | 成人av免费在线 | 亚洲激情一区二区 | 天天看天天干 | 精品久久久久久 | 国产精品白浆 | 色婷婷精品国产一区二区三区 | 欧美日韩视频一区二区 | 国产视频综合 | 九九九久久国产免费 | 久久久婷婷 | 久久久精品免费看 | 在线观看中文 | 欧美一区2区三区4区公司二百 | 欧美精品一二三 | 国产一级片在线播放 | 日韩精品av一区二区三区 | 成人一区二区三区在线观看 | 国产探花 | 午夜免费av | 大胸av| 天天草夜夜操 | 综合久久综合久久 | 日本免费不卡 | 国产毛片在线 | 国产日产欧美a级毛片 | 国产精品久久久久久久久久久久久 | 婷婷av网站 | 日韩欧美一区二区三区久久婷婷 | 伊人超碰 | 四虎视频在线精品免费网址 | 欧美日韩91 |