linux基礎入門--grep命令及正則表達式

grep命令:print lines matching a pattern

【功能】使用grep命令查找文件內容中的匹配到的字符串顯示之,也稱爲過濾器,當然支持正則表達式複合使用。

【語法】

grep [options][pattern] filename

【常用選項】

-i:表示忽略大小寫顯示之
-n:輸出行號
-o:表示只顯示被匹配到模式的本身
-v:表示顯示反顯,匹配的不顯示,沒匹配到的顯示之
-A # :顯示匹配到的後#行
-C # :顯示匹配到的前後#行
-B # :顯示匹配到的前#行
--color=auto:將匹配到的內容着色顯示之

【實例1】默認着色顯示

wKiom1cY5H6Czfx4AAAoTeGD9zw597.png

【實例2】-i選項不區分大小寫

wKiom1cY5kvjDl30AABJ_Jo204w023.png

【實例3】反顯和顯示行號

wKiom1cY5ufQ8wdwAABJQcCUxFs900.png

【實例4】只顯示匹配到模式的本身

wKioL1cY8MvQM__0AAAclTbSV18577.png


    正則表達式:在linux系統中shell,有特定的特殊符號來實現匹配文本中的指定字符串,在於許多複雜難以寫出或需要匹配特定位置[範圍]時,可使用正則表達式匹配模式來實現,類似glob通配符。

    在linux系統中正則表達式應用很廣泛,常見使用正則表達式的工具有以下幾個

用於匹配文本行的grep工具家族(grep,grep,fgrep)
用於改變輸入流的sed流編輯器(stram editor)
用於處理字符串語言的gawk,python,perl等
文件查看程序,或分頁程序,more,less
文本編輯器vim

    

    正則表示分爲基本正則表達式和擴展正則表達式

wKioL1cY-aaRusaiAACtxh6RIfY108.png

note:分組中的()如果有多個,後項引用分前後,或者是(()) 從外到內分別爲\1\2


wKiom1cZAKaCfB4jAABHFlE9wZY305.png


【實例1】模式"^1",表示匹配首行爲1的行,錨定行首

wKioL1cZA-2Qu_6hAAAo-LrStfU455.png

【實例2】模式"$",表示匹配行尾字符的行,錨定行尾

wKioL1cZBMHRti0BAAAv7R3LHbQ298.png

【實例3】模式{m},表示匹配前面字符1m次匹配,

wKiom1cZBObTdrK2AAAtKT_pZIo029.png

【實例4】匹配至少一次,最多n次

wKiom1cZBeDCjhyAAAAqtiNJbkw357.png

【實例5】匹配前字符至少m次,最多n次匹配

wKiom1cZBu3BoFlJAAArFJzWz5A858.png

【實例6】專用字符集


wKioL1cZKG_ytVRsAABZf3Vz1Fs195.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章