grep命令引數詳解

2021-06-17 23:59:51 字數 1449 閱讀 2556

1. grep命令引數選項

-? 同時顯示匹配行上下?行,如grep -2 'pattern' filename,

-a ? 同時顯示匹配行下?行grep -a 10 'pattern' filename

-b ? 同時顯示匹配行上?行

-c 列印匹配次數

-e 擴充套件正則egrep

-f  兩個檔案相同行  如,grep -f file1 file2

-f fgrep

-h 不顯示匹配行所在檔名

-h 同時顯示行和檔名

-i 忽略大小寫

-l 只顯示匹配到的檔名

-n 顯示行號

-o 只顯示匹配的字元

-r 遞迴查詢

-v 只顯示不匹配的行

2. grep正規表示式元字符集(基本集)

^ 錨定行的開始 如:'^grep'匹配所有以grep開頭的行。

$ 錨定行的結束 如:'grep$'匹配所有以grep結尾的行。^$一起用代表空行

. 匹配乙個非換行符的字元 如:'gr.p'匹配gr後接乙個任意字元,然後是p。

* 匹配零個或多個先前字元 如:'*grep'匹配所有乙個或多個空格後緊跟grep的行。 .*一起用代表任意字元。

匹配乙個指定範圍內的字元,如'[gg]rep'匹配grep和grep。

[^] 匹配乙個不在指定範圍內的字元,如:'[^a-fh-z]rep'匹配不包含a-r和t-z的乙個字母開頭,緊跟rep的行。

\(..\) 標記匹配字元,如'\(love\)',love被標記為1。

\< 錨定單詞的開始,如:'\ 錨定單詞的結束,如'str\>'匹配包含以str結尾的單詞的行。

x\ 重複字元x,m次,如:'a\'匹配包含5個a的行。

x\ 重複字元x,至少m次,如:'a\'匹配至少有5個a的行。

x\重複字元x,至少m次,不多於n次,如:'a\'匹配5-10個a的行

3. 用於egrep和 grep -e的元字元擴充套件集

+ 匹配乙個或多個先前的字元。如:'[a-z]+able',匹配乙個或多個小寫字母後跟able的串,如loveable,enable,disable等。

? 匹配零個或多個先前的字元。如:'gr?p'匹配gr後跟乙個或沒有字元,然後是p的行。

a|b|c

匹配a或b或c。如:grep|sed匹配grep或sed

() 分組符號,如g(la|oo)d匹配glad或good

()+ 多個重複分組匹配,如a(xy)+b匹配a開頭b結尾中間乙個以上的xy如axyb.axyxyb.axyxyxyb

x,x,x

作用同x\,x\,x\

4. posix字元類

[:alnum:] 0-9, a-z, a-z 

[:alpha:] a-z, a-z 

[:digit:] 0-9 

[:lower:] a-z 

[:upper:] a-z

grep命令最全引數詳解

用grep c來統計匹配的行數 grep c 的作用類似grep wc l,不同的是,如果是查詢多個檔案,grep c會統計每個檔案匹配的行數,每行乙個檔案的列出來,而wc l 則列出總的統計數字。另外grep c 要比 grep wc l快一點。grep同時滿足多個關鍵字和滿足任意關鍵字 grep...

grep引數詳解

f 檔案選項。讓grep egrep和fgrep命令列中該選項之後的字串是相關檔案的檔名。該檔案包含了將 在輸入中搜尋的目標。標準的grep不能識別該選項 v 反義選項,使grep選擇所有和模式不匹配的行。c 計數選項。請求包含匹配的搜尋檔案中匹配行的數量。l 列表選項。顯示包含有匹配的檔名的列表,...

grep 命令各引數詳解帶例子

在工作中經常用到grep命令,在此做一下總結。grep 用於匹配檔案中符合條件的行。cat test.txt aaaa bbbbb cccc dddd eeeeeee ffff after context 除了列印匹配的行,還要列印匹配行之後的幾行內容 例如 除了匹配 bb 還要知道該行的後三行內容...