資料介紹
grep (global search regular expression(RE) and print out the line,全面搜索正則表達(dá)式并把行打印出來(lái))是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來(lái)。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴(kuò)展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說(shuō),正則表達(dá)式中的元字符表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強(qiáng),可以通過(guò)-G、-E、-F命令行選項(xiàng)來(lái)使用egrep和fgrep的功能。
grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過(guò)返回一個(gè)狀態(tài)值來(lái)說(shuō)明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動(dòng)化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開(kāi)始 如:‘^grep’匹配所有以grep開(kāi)頭的行。
$
錨定行的結(jié)束 如:‘grep$’匹配所有以grep結(jié)尾的行。
。
匹配一個(gè)非換行符的字符 如:‘gr.p’匹配gr后接一個(gè)任意字符,然后是p。
*
匹配零個(gè)或多個(gè)先前字符 如:‘*grep’匹配所有一個(gè)或多個(gè)空格后緊跟grep的行。 .*一起用代表任意字符。
?。郏?br /> 匹配一個(gè)指定范圍內(nèi)的字符,如‘[Gg]rep’匹配Grep和grep。
?。踍]
匹配一個(gè)不在指定范圍內(nèi)的字符,如:‘[^A-FH-Z]rep’匹配不包含A-R和T-Z的一個(gè)字母開(kāi)頭,緊跟rep的行。
?。ā?)
標(biāo)記匹配字符,如‘(love)’,love被標(biāo)記為1。
《
錨定單詞的開(kāi)始,如:‘《grep’匹配包含以grep開(kāi)頭的單詞的行。
》
錨定單詞的結(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],如:‘Gw*p’匹配以G后跟零個(gè)或多個(gè)文字或數(shù)字字符,然后是p。
W
w的反置形式,匹配一個(gè)或多個(gè)非單詞字符,如點(diǎn)號(hào)句號(hào)等。
b
單詞鎖定符,如: ‘bgrepb’只匹配grep。
3. 用于egrep和 grep -E的元字符擴(kuò)展集
+
匹配一個(gè)或多個(gè)先前的字符。如:‘[a-z]+able’,匹配一個(gè)或多個(gè)小寫(xiě)字母后跟able的串,如loveable,enable,disable等。
?。?br /> 匹配零個(gè)或多個(gè)先前的字符。如:‘gr?p’匹配gr后跟一個(gè)或沒(méi)有字符,然后是p的行。
a|b|c
匹配a或b或c。如:grep|sed匹配grep或sed
?。ǎ?br /> 分組符號(hào),如:love(able|rs)ov+匹配loveable或lovers,匹配一個(gè)或多個(gè)ov。
x{m},x{m,},x{m,n}
作用同x{m},x{m,},x{m,n}
4. POSIX字符類(lèi)
為了在不同國(guó)家的字符編碼中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符類(lèi),如[:alnum:]是A-Za-z0-9的另一個(gè)寫(xiě)法。要把它們放到[]號(hào)內(nèi)才能成為正則表達(dá)式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符類(lèi)。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
?。郏篴lpha:]
文字字符
[:digit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
?。郏簂ower:]
小寫(xiě)字符
?。郏篶ntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
?。郏簆unct:]
標(biāo)點(diǎn)符號(hào)
[:space:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫(xiě)字符
?。郏簒digit:]
十六進(jìn)制數(shù)字(0-9,a-f,A-F)
grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過(guò)返回一個(gè)狀態(tài)值來(lái)說(shuō)明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動(dòng)化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開(kāi)始 如:‘^grep’匹配所有以grep開(kāi)頭的行。
$
錨定行的結(jié)束 如:‘grep$’匹配所有以grep結(jié)尾的行。
。
匹配一個(gè)非換行符的字符 如:‘gr.p’匹配gr后接一個(gè)任意字符,然后是p。
*
匹配零個(gè)或多個(gè)先前字符 如:‘*grep’匹配所有一個(gè)或多個(gè)空格后緊跟grep的行。 .*一起用代表任意字符。
?。郏?br /> 匹配一個(gè)指定范圍內(nèi)的字符,如‘[Gg]rep’匹配Grep和grep。
?。踍]
匹配一個(gè)不在指定范圍內(nèi)的字符,如:‘[^A-FH-Z]rep’匹配不包含A-R和T-Z的一個(gè)字母開(kāi)頭,緊跟rep的行。
?。ā?)
標(biāo)記匹配字符,如‘(love)’,love被標(biāo)記為1。
《
錨定單詞的開(kāi)始,如:‘《grep’匹配包含以grep開(kāi)頭的單詞的行。
》
錨定單詞的結(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],如:‘Gw*p’匹配以G后跟零個(gè)或多個(gè)文字或數(shù)字字符,然后是p。
W
w的反置形式,匹配一個(gè)或多個(gè)非單詞字符,如點(diǎn)號(hào)句號(hào)等。
b
單詞鎖定符,如: ‘bgrepb’只匹配grep。
3. 用于egrep和 grep -E的元字符擴(kuò)展集
+
匹配一個(gè)或多個(gè)先前的字符。如:‘[a-z]+able’,匹配一個(gè)或多個(gè)小寫(xiě)字母后跟able的串,如loveable,enable,disable等。
?。?br /> 匹配零個(gè)或多個(gè)先前的字符。如:‘gr?p’匹配gr后跟一個(gè)或沒(méi)有字符,然后是p的行。
a|b|c
匹配a或b或c。如:grep|sed匹配grep或sed
?。ǎ?br /> 分組符號(hào),如:love(able|rs)ov+匹配loveable或lovers,匹配一個(gè)或多個(gè)ov。
x{m},x{m,},x{m,n}
作用同x{m},x{m,},x{m,n}
4. POSIX字符類(lèi)
為了在不同國(guó)家的字符編碼中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符類(lèi),如[:alnum:]是A-Za-z0-9的另一個(gè)寫(xiě)法。要把它們放到[]號(hào)內(nèi)才能成為正則表達(dá)式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符類(lèi)。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
?。郏篴lpha:]
文字字符
[:digit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
?。郏簂ower:]
小寫(xiě)字符
?。郏篶ntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
?。郏簆unct:]
標(biāo)點(diǎn)符號(hào)
[:space:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫(xiě)字符
?。郏簒digit:]
十六進(jìn)制數(shù)字(0-9,a-f,A-F)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- allegro學(xué)習(xí)筆記 1次下載
- 開(kāi)關(guān)電源學(xué)習(xí)筆記 --- 目錄
- OpenStack之Cinder學(xué)習(xí)筆記
- Altera FPGA CPLD學(xué)習(xí)筆記
- python機(jī)器學(xué)習(xí)筆記資料免費(fèi)下載 39次下載
- MXNet深度學(xué)習(xí)計(jì)算平臺(tái)中文學(xué)習(xí)筆記免費(fèi)下載 3次下載
- 機(jī)器學(xué)習(xí)的個(gè)人學(xué)習(xí)筆記 22次下載
- 模擬電路的學(xué)習(xí)筆記資料免費(fèi)下載 60次下載
- Java設(shè)計(jì)模式學(xué)習(xí)筆記 5次下載
- Ansoft學(xué)習(xí)筆記 0次下載
- PADS_2007學(xué)習(xí)筆記 18次下載
- 模擬電路學(xué)習(xí)筆記 0次下載
- Allegro學(xué)習(xí)筆記 0次下載
- latex排版學(xué)習(xí)筆記 0次下載
- Altera Modelsim學(xué)習(xí)筆記 66次下載
- Linux grep命令詳解 174次閱讀
- ElfBoard學(xué)習(xí)筆記分享 470次閱讀
- MM32F0140 DMA學(xué)習(xí)筆記 735次閱讀
- shell腳本基礎(chǔ):正則表達(dá)式grep 1285次閱讀
- CRust學(xué)習(xí)筆記:智能指針和內(nèi)部可變性 850次閱讀
- CRust學(xué)習(xí)筆記:聲明宏 842次閱讀
- CRust學(xué)習(xí)筆記:生命周期-2 923次閱讀
- CRust學(xué)習(xí)筆記:生命周期-1 906次閱讀
- 如何使用grep對(duì)標(biāo)準(zhǔn)輸出進(jìn)行過(guò)濾 2528次閱讀
- 如何使用grep命令 2151次閱讀
- grep命令常用的選項(xiàng)詳解 4681次閱讀
- 如何使用grep命令的多種搜索模式及搜索多個(gè)字符串 2563次閱讀
- Linux在在文件中查找文本的Grep命令 3355次閱讀
- Linux 中 grep 命令的超級(jí)用法實(shí)例 4664次閱讀
- 詳細(xì)的STM32單片機(jī)學(xué)習(xí)筆記 1.4w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論