linux grep命令詳解

2021-09-03 09:29:26 字數 1991 閱讀 3750

linux

系統中grep命令是一種

強大的文字搜尋工具

,它能使用正規表示式搜尋文字,並把匹配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。

grep [option]...pattern [file] ...

[options]

主要引數:

-c:只輸出匹配了多少次。

-i:不區分大小寫(只適用於單字元)。

-h:查詢多檔案時不顯示檔名。

-l:查詢多檔案時只輸出包含匹配字元的檔名。

-n:顯示匹配行及行號。

-s:不顯示不存在或無匹配文字的錯誤資訊。

-v:顯示不包含匹配文字的所有行。

-d:跳過對子目錄的搜尋

-r: 對子目錄也進行查詢 \

:忽略正規表示式中特殊字元的原有含義。

^:匹配正規表示式的開始行,如:'^grep'匹配所有以grep開頭的行。

$:  

匹配正規表示式的結束行,如'grep$'匹配所有以grep結尾的行。

\<

:從匹配正規表示式的行開始。如'\

\>

:到匹配正規表示式的行結束。

如'grep\>'匹配包含以grep結尾的單詞的行。

:匹配乙個指定範圍內的字元,如'[gg]rep'匹配grep和grep。需要特別留意的是,在 當中『僅代表乙個待搜尋的字元』

[ n1-n2 ]

:範圍,如[a-z],即a、b、c一直到z都符合要求 。

. :所有的單個字元。

* :有字元,長度可以為0。

\(..\)

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

\:意義:重複前乙個字元n-m個,若為\則是重複前乙個字元n次,若是 \則是重複前乙個字答n次以上

+      

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

?      

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

a|b|c  

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

()    

分組符號,如:love(able|rs)ov+匹配loveable或lovers,匹配乙個或多個ov。

引數不舉例了,見名思義,下面主要練習正規表示式 1

)正規表示式的運用(過濾出本機ip位址)

[root@yang1 lesson-1]# ifconfig eth0|grep 'inetaddr:'|sed 's/^.*addr:\([0-9]\\.[0-9]\\.[0-9]\\.[0-9]\\)  bcast.*/\1/g'

10.0.0.29

解析:^.*           以任意字元開頭,並重複0次或多次

[0-9]\  

重複匹配0-9中的字元1次或2次或3次

\( ……\)    標記匹配字元,第乙個\(\)標記為1,第二個\(\)標記為2

\1          

取第1個標記中的內容

s/aa/b/g    

屬於sed中的替換功能,把aa替換為b,例中把匹配的一行替換為標記1中的內容 2

)egrep擴充套件表示式運用

過濾出多個行要使用egrep

[root@yang1lesson-1]# ifconfig eth0|grep 'inet|inet6'

[root@yang1lesson-1]# ifconfig eth0|egrep 'inet|inet6'

inet addr:10.0.0.29  bcast:10.0.0.255  mask:255.255.255.0

inet6 addr:fe80::20c:29ff:fe6a:4121/64 scope:link

其它+? ()同理,需要使用egrep或grep -e

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...

linux grep命令詳解

grep命令是linux下的行過濾工具,其引數繁多,下面就一一介紹個個引數的作用,希望對大家有所幫助。grep print lines matching a pattern 將符合樣式的該行列出 語法 grep options pattern file.grep用以在file內文中比對相對應的部分,...