grep工具
linux
shell命令行之因此便捷和它所支持的工具是離不開的,其中grep工具就是一個搜索神器,它能夠搜索整個linux系統全部文件中的全部信息。
正則表達式
grep的靈活使用離不開正則表達式shell
正則表達式是一種查找以及字符串替換操做,它只是一個字符串,沒有長度的限制,可是通常卻表較短。能夠被認爲是一種輕量級、簡介、使用與特定領域的編程語言。編程
這裏主要使用grep工具編程語言
grep工具通常用來作兩件事,搜索文件和搜索指定字符串ide
grep經常使用命令工具
-a 不要忽略二進制數據。spa
-b 在顯示符合範本樣式的那一行以外,並顯示該行以前的內容。命令行
-C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列以外,並顯示該列以前後的內容。字符串
-c 不顯示匹配到的信息,只顯示匹配到了多少個
-d<進行動做> 當指定要查找的是目錄而非文件時,必須使用這項參數,不然grep命令將回報信息並中止動做。
-e<範本樣式> 指定字符串做爲查找文件內容的範本樣式。
-E 將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式。
-i 忽列字符大小寫的差異。
-l 列出文件內容符合指定的範本樣式的文件名稱。
-L 列出文件內容不符合指定的範本樣式的文件名稱。
-n 在顯示符合範本樣式的那一列以前,標示出該列的編號。
-q 不顯示任何信息。
-s 不顯示錯誤信息。
-v 反轉查找。
-y 此參數效果跟「-i」相同。
-o 只輸出文件中匹配到的部分
--color能夠將匹配到的用顏色標識
grep正則表達式有兩種模式,一種是basic模式,另外一種是extend模式(就是添加-E),不添加E的basic模式下?{}+()|都是自己字面意思,不是正則的意思,若是要用正則的意思須要用\轉譯,而-E模式下則恰巧相反
例如咱們touch一個file:裏面的內容以下所示,數字爲1-100,
hello-world86 hello-world87 hello-world88 hello-world89 hello-world90 hello-world91 hello-world92
如今咱們要找到尾數是9的那些行,並用顏色標註
[wpbfcr@wpfbcr grep]$ grep -E --color '.9$' file hello-world9 hello-world19 hello-world29 hello-world39 hello-world49 hello-world59 hello-world69 hello-world79 hello-world89 hello-world99
這樣便可,若是咱們只要求顯示匹配到的個數,則加上-c選項既可
grep -Ec --color '.9$' file
能夠看出grep的格式大概就是這麼個形式,主要的仍是後面與正則表達式相關聯的查找方式
總結:grep是一個強大的查找工具,在進行快速尋找的時候能夠很方便的使用