Linux命令: grep命令
基本用法 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
grep? 'str'? filename?在filename里查找'str'字符串
?
?
常用參數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
①grep? -c 'str'? filename?在filename里查找有多少行包含'str'字符串
②grep? -i 'str'? filename?在filename里查找'str'字符串,忽略大小寫
③"grep -l" 打印出匹配到'字符串'內(nèi)容的文件清單。
④grep -n 'str'?filename 在匹配的行前面打印行號(hào)(左邊綠色)
?⑤grep -v 'str'?filename (只顯示不匹配的行,v代表reverse)
?
⑥"grep -w" 全字匹配的搜索。(w為word regexp的意思)
⑦grep -A 4 輸出匹配到'字符串'內(nèi)容的行和后4行。
⑧grep -B 4 輸出匹配到'字符串'內(nèi)容的行和前4行。
⑨grep -C 4 輸出匹配到'字符串'內(nèi)容的行和前后4行。
?
正則表達(dá)式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
①^ ?錨定行的開始?如:'^grep'匹配所有以grep開頭的行。
? ?
②$ ?錨定行的結(jié)束?如:'grep$'匹配所有以grep結(jié)尾的行。
?
?③ ?. ?匹配一個(gè)非換行符的字符?如:'gr.p'匹配gr后接一個(gè)任意字符,然后是p
?
④* ?匹配零個(gè)或多個(gè)先前字符?如:'*grep'匹配所有一個(gè)或多個(gè)空格或字符后緊跟grep的行。 ? ?
⑤.* ? 一起用代表任意字符
⑥其他
[]???#匹配一個(gè)指定范圍內(nèi)的字符,如'[Gg]rep'匹配Grep和grep。????
[^]??#匹配一個(gè)不在指定范圍內(nèi)的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一個(gè)字母開頭,緊跟rep的行。????
\(..\)??#標(biāo)記匹配字符,如'\(love\)',love被標(biāo)記為1。????
\<??????#錨定單詞的開始,如:'\<grep'匹配包含以grep開頭的單詞的行。????
\>??????#錨定單詞的結(jié)束,如'grep\>'匹配包含以grep結(jié)尾的單詞的行。????
x\{m\}??#重復(fù)字符x,m次,如:'0\{5\}'匹配包含5個(gè)o的行。????
x\{m,\}??#重復(fù)字符x,至少m次,如:'o\{5,\}'匹配至少有5個(gè)o的行。????
x\{m,n\}??#重復(fù)字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10個(gè)o的行。???
\w????#匹配文字和數(shù)字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零個(gè)或多個(gè)文字或數(shù)字字符,然后是p。???
\W????#\w的反置形式,匹配一個(gè)或多個(gè)非單詞字符,如點(diǎn)號(hào)句號(hào)等。???
\b????#單詞鎖定符,如:?'\bgrep\b'只匹配grep。??
POSIX字符:
為了在不同國(guó)家的字符編碼中保持一至,POSIX(The?Portable?Operating?System?Interface)增加了特殊的字符類,如[:alnum:]是[A-Za-z0-9]的另一個(gè)寫法。要把它們放到[]號(hào)內(nèi)才能成為正則表達(dá)式,如[A-?Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符類。
[:alnum:]????#文字?jǐn)?shù)字字符???
[:alpha:]????#文字字符???
[:digit:]????#數(shù)字字符???
[:graph:]????#非空字符(非空格、控制字符)???
[:lower:]????#小寫字符???
[:cntrl:]????#控制字符???
[:print:]????#非空字符(包括空格)???
[:punct:]????#標(biāo)點(diǎn)符號(hào)???
[:space:]????#所有空白字符(新行,空格,制表符)???
[:upper:]????#大寫字符???
[:xdigit:]???#十六進(jìn)制數(shù)字(0-9,a-f,A-F) ?
轉(zhuǎn)載于:https://www.cnblogs.com/baxianhua/p/9071074.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Linux命令: grep命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (四)maven之查找jar包坐标,选择
- 下一篇: AES在线加密解密-附AES128,19