shell --- grep 命令詳解

一、grep  ---- “行過濾工具”

    grep ( global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來 )是一種強大的文本搜索工具,它能使用正則表達式搜索文本,查找包含某些字符串的行或符合某個模式(Pattern)的一類字符串的行,並把匹配的行打印出來

     grep可用於shell腳本,因爲grep通過返回一個狀態值來說明搜索的狀態,如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。

     grep -E :以 擴展模式匹配

     egrep :正則匹配工具

二、grep 命令歸納

    語法grep   [-abcEFGhHilLnqrsvVwxy][-A][-B][-C]   [-d][-e][-f][--help][--color]    [範本模式]    [文件或目錄...]

    補充說明
    grep指令用於查找內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名爲“-”,則grep指令會從標準輸入設備讀取數據。

    參數:

-a或--text   不要忽略二進制的數據。
-A或--after-context=    顯示符合範本樣式的那一列 + 該列之後的內容。
-b或--byte-offset     在顯示符合範本樣式的那一列之前標示出該列第一個字符的位編號
-B或--before-context=    顯示符合範本樣式的那一列 + 該列之前的內容。
-c或--count    計算符合範本樣式的列數
-C或--context=或-     顯示符合範本樣式的那一列 + 該列之前後的內容。
-d或--directories=  當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息並停止動作。
-e或--regexp=     指定字符串做爲查找文件內容的範本樣式
-E或--extended-regexp   將範本樣式延伸普通表示法來使用。顯示符合範本模式的內容
-f或--file=      指定範本文件,其內容含有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每列一個範本樣式。
-F或--fixed-regexp   將範本樣式視爲固定字符串的列表
-G或--basic-regexp   將範本樣式視爲普通的表示法來使用。
-h或--no-filename     在顯示符合範本樣式的那一列之前,不標示該列所屬的文件名稱
-H或--with-filename  在顯示符合範本樣式的那一列之前,表示該列所屬的文件名稱
-i或--ignore-case   忽略字符大小寫的差別。
-l或--file-with-matches    列出文件內容符合指定的範本樣式的文件名稱
-L或--files-without-match    列出文件內容不符合指定的範本樣式的文件名稱
-n或--line-number   在顯示符合範本樣式的那一列之前,標示出該列的列數編號
-q或--quiet或--silent   不顯示任何信息
-r或--recursive   此參數的效果和指定“-d recurse”參數相同
-s或--no-messages   不顯示錯誤信息
-v或--revert-match   反轉查找。顯示剔除符合範本模式的其他內容
-V或--version    顯示版本信息
-w或--word-regexp    只顯示全字符合的列
-x或--line-regexp     只顯示全列符合的列
-y    此參數的效果和指定“-i”參數相同。 忽略大小寫

--help   在線幫助。

--color=auto    可以將找到的關鍵詞部分加上顏色的顯示。


三、grep 命令 示例

常用命令:

    wKiom1duTRah3C0wAAEI959LBIM959.jpg


    wKioL1duTtqByvbSAAC1NZeNvJs271.jpg


總結:grep 命令 查找匹配 較爲方便,但其參數衆多,因而需要注意多加練習,熟悉各命令參數及之間的搭配使用。


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