grep命令常用引數及用法

2021-06-26 17:21:21 字數 2351 閱讀 5990

grep命令是linux系統中一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱global regular expr

ession print,表示全域性正規表示式版本,它的使用許可權是所有使用者。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果搜尋的檔案不存在,則返回2。

-a :將 binary 檔案以 text 檔案的方式搜尋資料 

-c :計算找到 '匹配字串' 的次數 

-i :忽略大小寫的不同,所以大小寫視為相同 

-n :順便輸出行號

-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!

比如test.txt檔案內容如下:

1000 20 nan

1001 21 nv

1002 23 nan

//忽略大小寫進行匹配並顯示行號

grep -ni 'nan' test.txt

1:1000 20 nan

3:1002 23 nan

//忽略大小寫進行」非「匹配 並顯示行號

grep -ni 'nan' test.txt

2:1001 21 nv

re含義

^word

待匹配的字串(word)在行首!

如:grep '^1000' test.txt

返回:1000 20 nan

word$

待匹配的字串(word)在行末!

如:grep 'nv$' test.txt

返回:1001 21 nv

.

代表任意乙個字元,一定是乙個任意字元!

搜尋的字串可以是 (eve) (eae) (eee) (e e), 但不能僅有(ee) !亦 即e 與e 中間一定僅有乙個字元,而空格符也是字元!

如:grep 'n.n' test.txt

返回:1000 20 nan

\

轉義字元,特殊字元如 '

如:grep -n \' test.txt

匹配含有單引號'  的那一行!

*

重複零個或多個的前乙個re 字元,注意*號前面一定要有字元

如:grep 'n*' test.txt

返回:1000 20 nan

1001 21 nv

1002 23 nan

\

連續n 到m 個的前乙個re 字元

若為\ 則是連續n 個的前乙個re 字元,

若是\ 則是連續n 個以上的前乙個re 字元!

[ ]

字元集合的re 特殊字元的符號

[abc]:表示匹配a或者b或者c

[a-z]:表示匹配a,b,c,...z這26個字母中任何乙個

[^a-z]:表示字串的開頭只要不是小寫字母a-z,則都能匹配成功

[a-z$]:表示字串的結尾只要是小寫字母a-z,則都能匹配成功

擴充套件的正規表示式:egrep 'pattern' file.txt   或者用  grep -e 'pattern' file.txt

re含義

+

重複『乙個或乙個以上』的前乙個re 字元

如:egrep -n 'go+d' regular_express.txt

則:(god) (good) (goood)等會匹配成功

?

『零個或乙個』的前乙個re 字元

如:egrep -n 'go?d' regular_express.txt

則:(gd) (god)等會匹配成功

|

用或( or )的方式找出數個字串

如:egrep -n 'gd|good' regular_express.txt

則:匹配gd 或good 這兩個字串

()

找出『群組』字串

如:egrep -n 'g(la|oo)d' regular_express.txt

則:匹配(glad) 或(good) 這兩個字串

grep 常用引數

grep的基本使用方式 grep file grep 1 2 file cat file grep pip grep 測試文字111 cat 111 abcabc abcabc123 123不加任何引數 grep abc 111 abcabc123忽略大小寫 grep i abc 111 abcab...

grep命令引數詳解

1.grep命令引數選項 同時顯示匹配行上下?行,如grep 2 pattern filename,a 同時顯示匹配行下?行grep a 10 pattern filename b 同時顯示匹配行上?行 c 列印匹配次數 e 擴充套件正則egrep f 兩個檔案相同行 如,grep f file1 ...

Grep 命令 用法大全

1 引數 i 忽略大小寫 c 列印匹配的行數 l 從多個 檔案中查詢包含匹配項 v 查詢不包含匹配項的行 n 列印包含匹配項的行和行標 2 re 正規表示式 忽略正規表示式中特殊字元的原有含義 匹配正規表示式的開始行 匹配正規表示式的結束行 從匹配正規表示式的行開始 到匹配正規表示式的行結束 單個字...