資料介紹
														grep (global search regular expression(RE) and print out the line,全面搜索正則表達(dá)式并把行打印出來)是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來。Unix的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的功能。
grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過返回一個(gè)狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動(dòng)化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開始 如:‘^grep’匹配所有以grep開頭的行。
$
錨定行的結(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è)字母開頭,緊跟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],如:‘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è)小寫字母后跟able的串,如loveable,enable,disable等。
?。?br /> 匹配零個(gè)或多個(gè)先前的字符。如:‘gr?p’匹配gr后跟一個(gè)或沒有字符,然后是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字符類
為了在不同國家的字符編碼中保持一至,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的字符類。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
[:alpha:]
文字字符
?。郏篸igit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
?。郏簂ower:]
小寫字符
[:cntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
[:punct:]
標(biāo)點(diǎn)符號(hào)
?。郏簊pace:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫字符
[:xdigit:]
十六進(jìn)制數(shù)字(0-9,a-f,A-F)
												
												
												grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過返回一個(gè)狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動(dòng)化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開始 如:‘^grep’匹配所有以grep開頭的行。
$
錨定行的結(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è)字母開頭,緊跟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],如:‘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è)小寫字母后跟able的串,如loveable,enable,disable等。
?。?br /> 匹配零個(gè)或多個(gè)先前的字符。如:‘gr?p’匹配gr后跟一個(gè)或沒有字符,然后是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字符類
為了在不同國家的字符編碼中保持一至,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的字符類。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
[:alpha:]
文字字符
?。郏篸igit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
?。郏簂ower:]
小寫字符
[:cntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
[:punct:]
標(biāo)點(diǎn)符號(hào)
?。郏簊pace:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫字符
[:xdigit:]
十六進(jìn)制數(shù)字(0-9,a-f,A-F)
												下載該資料的人也在下載
												下載該資料的人還在閱讀
											
											更多 >
											
										- allegro學(xué)習(xí)筆記 1次下載
 - 開關(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)行過濾 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開關(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ī)開發(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開關(guān)電源設(shè)計(jì)實(shí)例指南
 - 未知 | 21548次下載 | 免費(fèi)
 - 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
 - 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ì)》 溫德爾著
 - 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語言視頻教程 下載
 - 158M | 183278次下載 | 免費(fèi)
 - 8proe5.0野火版下載(中文版免費(fèi)下載)
 - 未知 | 138040次下載 | 免費(fèi)
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評(píng)論