grep常用命令

一.【匹配字符】

. 匹配任意單個(gè)字符

[ ] 匹配指定范圍內(nèi)的任意字符

[^] 匹配非指定范圍內(nèi)的任意字符eg: grep '^[^0-9]' file 過濾出非數(shù)字開頭的行

[:alpha:] 字母字符

[:lower:] 小寫字母字符

[:upper:] 大寫字母字符

[:digit:] 數(shù)字

[:alnum:] 字母數(shù)字字符

[:space:] 空白字符(禁止打?。缁剀嚪?、換行符、豎直制表符和換頁(yè)符

[:punct:] 標(biāo)點(diǎn)字符

[:cntrl:] 控制字符(禁止打印)

[:print:] 可打印字符使用時(shí)一般使用兩個(gè)中括號(hào),具體會(huì)在下面的例子中使用。



二.【匹配次數(shù)】

* 匹配前面的字符任一次

.* 匹配任意長(zhǎng)度的任意字符(注意貪婪模式,比如 grep “r.*t” /etc/passwd )

x\{m,n\} 指定前面的字符至少出現(xiàn)m次,至多出現(xiàn)N次。

x\{m,\} 指定前面的字符至少出現(xiàn)m次

x\{0,n\} 指定前面的字符至多出現(xiàn)N次

x\{m\} 精確匹配m次? 匹配其前面的字符0或1次



三.【錨定符】

1.^ 錨定行首 grep "^r..t" /etc/passwd

2.$ 錨定行尾 grep "h$" /etc/passwd

3.^$ 錨定空白行 grep "^$" /etc/passwd

4..\(\)對(duì)字符分組? grep? "\(l..e\).*\1r"

示例:

grep --color "l\([13]\):\1:.*:\1"? /etc/initta



四.【選項(xiàng)】

-v? ? 對(duì)結(jié)果取反

-i? ? 忽略字母大小寫

-o? ? 僅顯示匹配到的字符串(行的其他內(nèi)容不顯示)

-E? ? 支持?jǐn)U展的正則表達(dá)式(egrep)

? ? 1) ?|? 或者

? ? 2) +? 次數(shù)匹配,匹配其前的額字符一次或者多次

? ? 3) '(oo)'匹配兩個(gè)oo為一組

? ?4)? 表示0個(gè)或1個(gè)前面的字符

-A n? ? 顯示匹配到的行下面n行

-B n? ? 顯示匹配到的行上面n行

-C n? ? 顯示匹配到的行上下面各顯示n行

-r ? ? 遍歷文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容