grep命令:print lines matching a pattern
【功能】使用grep命令查找文件內容中的匹配到的字符串顯示之,也稱爲過濾器,當然支持正則表達式複合使用。
【語法】
grep [options][pattern] filename
【常用選項】
-i:表示忽略大小寫顯示之 -n:輸出行號 -o:表示只顯示被匹配到模式的本身 -v:表示顯示反顯,匹配的不顯示,沒匹配到的顯示之 -A # :顯示匹配到的後#行 -C # :顯示匹配到的前後#行 -B # :顯示匹配到的前#行 --color=auto:將匹配到的內容着色顯示之
【實例1】默認着色顯示
【實例2】-i選項不區分大小寫
【實例3】反顯和顯示行號
【實例4】只顯示匹配到模式的本身
正則表達式:在linux系統中shell,有特定的特殊符號來實現匹配文本中的指定字符串,在於許多複雜難以寫出或需要匹配特定位置[範圍]時,可使用正則表達式匹配模式來實現,類似glob通配符。
在linux系統中正則表達式應用很廣泛,常見使用正則表達式的工具有以下幾個
用於匹配文本行的grep工具家族(grep,grep,fgrep) 用於改變輸入流的sed流編輯器(stram editor) 用於處理字符串語言的gawk,python,perl等 文件查看程序,或分頁程序,more,less 文本編輯器vim
正則表示分爲基本正則表達式和擴展正則表達式
note:分組中的()如果有多個,後項引用分前後,或者是(()) 從外到內分別爲\1\2
【實例1】模式"^1",表示匹配首行爲1的行,錨定行首
【實例2】模式"$",表示匹配行尾字符的行,錨定行尾
【實例3】模式{m},表示匹配前面字符1m次匹配,
【實例4】匹配至少一次,最多n次
【實例5】匹配前字符至少m次,最多n次匹配
【實例6】專用字符集