grep命令選項介紹

2021-09-04 04:19:08 字數 2692 閱讀 1647

--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 ...