Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本linux命令大全,它的使用權(quán)限是所有用戶。
1.作用
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶。
grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴(kuò)展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表達(dá)式中的元字符表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強(qiáng),可以通過-G、-E、-F命令行選項(xiàng)來使用egrep和fgrep的功能。
2.格式及主要參數(shù)
grep [options]
主要參數(shù): grep --help可查看
-c:只輸出匹配行的計(jì)數(shù)。
-i:不區(qū)分大小寫。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
–color=auto :可以將找到的關(guān)鍵詞部分加上顏色的顯示。
pattern正則表達(dá)式主要參數(shù):
\: 忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開始行。
KaTeX parse error: Expected 'EOF', got '\<' at position 16: : 匹配正則表達(dá)式的結(jié)束行。\?<?:從匹配正則表達(dá) 式的行開始! grep ‘test’ d*
顯示所有以d開頭的文件中包含 test的行
itcast $ grep ‘test’ aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
itcast $ grep ‘[a-z]{5}’ aa
顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。
itcast $ grep ‘w(es)t.\1′ aa
如果west被匹配,則es就被存儲到內(nèi)存中,并標(biāo)記為1,然后搜索任意個字符(.)linux命令大全,這些字符后面緊跟著 另外一個es(\1),找到就顯示該行。如果用egrep或grep -E,就不用”\”號進(jìn)行轉(zhuǎn)義,直接寫成’w(es)t.\1′就可以了。
4.grep命令使用復(fù)雜實(shí)例
明確要求搜索子目錄:
grep -r
或忽略子目錄
grep -d skip