国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

grep常用功能整理

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

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

grep  [OPTIONS]  PATTERN  [FILE...]

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

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

FILE:操作文件對(duì)象,可操作多個(gè)文件

常用參數(shù):

         -i:忽略大小寫

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

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

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

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

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

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

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

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

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

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

         .:匹配任意單個(gè)字符,要想實(shí)現(xiàn)匹配任意長(zhǎng)度的任意字符,可以用: .*

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

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

         ^:行首標(biāo)志

         $:行尾標(biāo)志

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

                                                                 [:space:]空格

                                                                 [:digit:]數(shù)字

                                                                 [:lower:]小寫字母

                                                                 [:upper:]大寫字母

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

                                                                 [:panct:]標(biāo)點(diǎn)符號(hào)

                                                                 [:almun:]所有字符

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

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

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

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

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

         |:邏輯或

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

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

上面說了那么多,大概大家都煩了,下面開始實(shí)戰(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

         前后三個(gè)一行:

                   [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é)果如下:

         例五:在指定文件里,找出單獨(dú)為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é)果如下:

         例八:使用擴(kuò)展正則表達(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ā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 疏附县| 白河县| 镇雄县| 乌兰察布市| 建湖县| 镇宁| 沽源县| 玉门市| 林周县| 阿拉善左旗| 周至县| 樟树市| 乐昌市| 鹿泉市| 化州市| 崇州市| 防城港市| 永昌县| 简阳市| 通海县| 团风县| 新沂市| 杨浦区| 耿马| 合山市| 宝清县| 邯郸市| 梅河口市| 江阴市| 巨鹿县| 林西县| 故城县| 宣武区| 乌兰察布市| 泰安市| 教育| 海林市| 西充县| 基隆市| 专栏| 金湖县|