--color=auto 或者--color:表示對匹配的文字著色顯示
-i:在搜尋時忽略大小寫
-n:顯示結果所在行號
-c:統計匹配到的行數,注意,是匹配到的總行數,不是匹配到的次數
-o:只顯示符合條件的字串,但是不整行顯示,每個符合條件的字串單獨顯示一行
-v:輸出不帶關鍵字的行(反向查詢,反向匹配)
-w:匹配整個單詞,如果是字串中包含這個單詞,則不作匹配
-ax:在輸出的時候包含結果所在行之後的指定行數,這裡指之後的x行,a:after
-bx:在輸出的時候包含結果所在行之前的指定行數,這裡指之前的x行,b:befor
-cx:在輸出的時候包含結果所在行之前和之後的指定行數,這裡指之前和之後的x行,c:context
-e:實現多個選項的匹配,邏輯or關係
-q:靜默模式,不輸出任何資訊,當我們之關心有沒有匹配到,卻不關心匹配到什麼內容時,我們可以使用此命令,然後,使用」echo $?「檢視是否匹配到,0表示匹配到,1表示沒有匹配到。
-e:使用擴充套件正規表示式,而不是基本正規表示式,在使用-e選項時,相當於使用egrep。
常用:-i
-e-n
-r -r
很有用的乙個選項:
-r的意思是遞迴的對目錄下的所有檔案(包括子目錄)進行grep
grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。
grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果搜尋的檔案不存在,則返回2。我們利用這些返回值就可進行一些自動化的文字處理工作。
grep --help
匹配模式選擇:
-e, --extended-regexp 擴充套件正規表示式egrep
-f, --fixed-strings 乙個換行符分隔的字串的集合fgrep
-g, --basic-regexp 基本正則
-p, --perl-regexp 呼叫的perl正則
-e, --regexp=pattern 後面根正則模式,預設無
-f, --file=file 從檔案中獲得匹配模式
-i, --ignore-case 不區分大小寫
-w, --word-regexp 匹配整個單詞
-x, --line-regexp 匹配整行
-z, --null-data 乙個 0 位元組的資料行,但不是空行
雜項:-s, --no-messages 不顯示錯誤資訊
-v, --invert-match 顯示不匹配的行
-v, --version 顯示版本號
--help 顯示幫助資訊
輸入控制:
-m, --max-count=num 匹配的最大數
-b, --byte-offset 列印匹配行前面列印該行所在的塊號碼。
-n, --line-number 顯示的加上匹配所在的行號
--line-buffered 重新整理輸出每一行
-h, --with-filename 當搜尋多個檔案時,顯示匹配檔名字首
-h, --no-filename 當搜尋多個檔案時,不顯示匹配檔名字首
--label=label print label as filename for standard input
-o, --only-matching 只顯示一行中匹配pattern 的部分
-q, --quiet, --silent 不顯示任何東西
--binary-files=type 假定二進位制檔案的type 型別;
type 可以是`binary', `text', 或`without-match'
-a, --text 匹配二進位制的東西
-i 不匹配二進位制的東西
-d, --directories=action 目錄操作,讀取,遞迴,跳過
-d, --devices=action 設定對裝置,fifo,管道的操作,讀取,跳過
-r, -r, --recursive 遞迴呼叫
--include=pattern 只查詢匹配file_pattern 的檔案
--exclude=pattern 跳過匹配file_pattern 的檔案和目錄
--exclude-from=file 跳過所有除file 以外的檔案
-l, --files-without-match 匹配多個檔案時,顯示不匹配的檔名
-l, --files-with-matches 匹配多個檔案時,顯示匹配的檔名
-c, --count 顯示匹配的行數
-z, --null 在file 檔案最後列印空字元
檔案控制:
-b, --before-context=num 列印匹配本身以及前面的幾個行由num控制
-a, --after-context=num 列印匹配本身以及隨後的幾個行由num控制
-c, --context=num 列印匹配本身以及隨後,前面的幾個行由num控制
-num 根-c的用法一樣的
--color[=when],
--colour[=when] 使用標誌高亮匹配字串;
-u, --binary 使用標誌高亮匹配字串;
-u, --unix-byte-offsets 當cr 字元不存在,報告位元組偏移(msdos 模式)
grep命令介紹
grep print lines matching a pattern grep options pattern file.grep options e pattern f file file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,g...
grep命令介紹
grep print lines matching a pattern 將符合樣式的該行列出 語法 grep options pattern file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,grep會將符合樣式的那一行列出。此外,還有...
linux命令之grep的 o選項
這個選項說的是,只輸出匹配的部分.在寫shell抓取網頁內容時,開始不知道這個選項,後來居然用上了perl的html tokeparser,我只想說,喜新厭舊是人類最好的品質,不然怎麼來那麼多創新 心裡一陣自嘲 雖然走了很多彎路,但是也解決了問題.場景還原如下 乙份html內容 page.html ...