正規表示式grep用法詳解

2022-10-03 18:54:09 字數 1650 閱讀 7991

語法:grep 選項 『word' filename

-c:列印符合要求的行數

-i:不區分大小寫

-n:在輸出符合要求的行的同時顯示行號

-v:列印不符合要求的行

-a:後跟乙個數字n,表示列印符合要求的行以及下面n行

-b:後跟乙個數字n,表示列印符合要求的行以及上面n行

-c:後跟乙個數字n,表示列印符合要求的行以及上下各n行

-r:會把目錄下所有的檔案全部遍歷

--color:把匹配到的關鍵詞用紅色標示

例子:過濾出帶有某個關鍵詞的行並輸出行號

grep -n 『root' 1.txt

過濾出不帶有某個關鍵詞的行並輸出行號

grep -nv 『root' 1.txt

過濾出所有包含數字的行

grep 『[0-9]『 1.txt

過濾出所程式設計客棧有不包含數字的行

grep -v 『程式設計客棧[0-9]『 1.txt

去除所有以#開頭的行

grep -v 『^#『 1.txt

去除所有空程式設計客棧行和以#開頭的行

grep -v 『^$『 1.txt|grep -v 『^#『

過濾出以英文本母開頭的行

grep 『^[a-za-z]『 1.txt

過濾出以非數字開頭的行

grep -v 『^[0-9]『 1.txt或者grep 『^[^0-9]『 1.txt

過濾任意乙個或多個字元

grep 『r.o『 1程式設計客棧.txt;grep 『rt『 1.txt ;grep 『r.t『 1.txt

過濾出包含root的行以及下面一行

grep -a1 『root『 1.txt

過濾出包含root的行以及上面一行

grep -b1 『root『 1.txt

指定過濾字元次數

grep 『o『 1.txt

把乙個目錄下,過濾所有.php文件中含有eval的行

grep -r --include=".php" 『eval『 /data/

過濾兩個或多個關鍵詞

grep -e 『123|abc『 filename #找出檔案中包含123或者abc的行

或者egrep 『123|abc『 filename

或者awk 『/123|abc/『 filename

egrep=grep -e

匹配1個或者1個以上+前面的字元

egrep 『o+『 1.txt

匹配0個或者1個?前面的字元

egrep 『o?『 1.txt

匹配roo或者匹配body

egrep 『roo|body『 1.txt

用括號表示乙個整體,下面例子會匹配roo或者ato

egrep 『r(oo)|(at)o『 1.txt

匹配1個或者多個oo

egrep 『(oo)+『 1.txt

.:表示任意乙個字元

:表示0個或多個前面的字元

+:表示1個或多個+前面的字元

?:表示0個或1個?前面的字元

.*:表示任意個任意字元(包含空行)

注意:+和?grep不支援,egrep才支援。

總結本文標題: 正規表示式grep用法詳解

本文位址: /wangluo/re/232003.html

grep用法詳解 grep與正規表示式

首先要記住的是 正規表示式與萬用字元不一樣,它們表示的含義並不相同 正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 1基礎正規表示式 grep 工具,以前介紹過。g...

grep用法詳解 grep與正規表示式

正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 在以前上班的公司裡,由於公司是基於web的服務型 nginx 對正則的需求比 較大,所以也花了點時間研究正則,特與大...

grep用法詳解 grep與正規表示式

首先要記住的是 正規表示式與萬用字元不一樣,它們表示的含義並不相同 正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 在以前上班的公司裡,由於公司是基於web的服務型...