資料介紹
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的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開始 如:‘^grep’匹配所有以grep開頭的行。
$
錨定行的結(jié)束 如:‘grep$’匹配所有以grep結(jié)尾的行。
。
匹配一個非換行符的字符 如:‘gr.p’匹配gr后接一個任意字符,然后是p。
*
匹配零個或多個先前字符 如:‘*grep’匹配所有一個或多個空格后緊跟grep的行。 .*一起用代表任意字符。
?。郏?br /> 匹配一個指定范圍內(nèi)的字符,如‘[Gg]rep’匹配Grep和grep。
?。踍]
匹配一個不在指定范圍內(nèi)的字符,如:‘[^A-FH-Z]rep’匹配不包含A-R和T-Z的一個字母開頭,緊跟rep的行。
?。ā?)
標(biāo)記匹配字符,如‘(love)’,love被標(biāo)記為1。
《
錨定單詞的開始,如:‘《grep’匹配包含以grep開頭的單詞的行。
》
錨定單詞的結(jié)束,如‘grep》’匹配包含以grep結(jié)尾的單詞的行。
x{m}
重復(fù)字符x,m次,如:‘0{5}’匹配包含5個o的行。
x{m,}
重復(fù)字符x,至少m次,如:‘o{5,}’匹配至少有5個o的行。
x{m,n}
重復(fù)字符x,至少m次,不多于n次,如:‘o{5,10}’匹配5--10個o的行。
w
匹配文字和數(shù)字字符,也就是[A-Za-z0-9],如:‘Gw*p’匹配以G后跟零個或多個文字或數(shù)字字符,然后是p。
W
w的反置形式,匹配一個或多個非單詞字符,如點(diǎn)號句號等。
b
單詞鎖定符,如: ‘bgrepb’只匹配grep。
3. 用于egrep和 grep -E的元字符擴(kuò)展集
+
匹配一個或多個先前的字符。如:‘[a-z]+able’,匹配一個或多個小寫字母后跟able的串,如loveable,enable,disable等。
???
匹配零個或多個先前的字符。如:‘gr?p’匹配gr后跟一個或沒有字符,然后是p的行。
a|b|c
匹配a或b或c。如:grep|sed匹配grep或sed
?。ǎ?br /> 分組符號,如:love(able|rs)ov+匹配loveable或lovers,匹配一個或多個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的另一個寫法。要把它們放到[]號內(nèi)才能成為正則表達(dá)式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符類。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
?。郏篴lpha:]
文字字符
?。郏篸igit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
[:lower:]
小寫字符
?。郏篶ntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
?。郏簆unct:]
標(biāo)點(diǎn)符號
?。郏簊pace:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫字符
?。郏簒digit:]
十六進(jìn)制數(shù)字(0-9,a-f,A-F)
grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。
grep可用于shell腳本,因?yàn)間rep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進(jìn)行一些自動化的文本處理工作。
2. grep正則表達(dá)式元字符集(基本集)
^
錨定行的開始 如:‘^grep’匹配所有以grep開頭的行。
$
錨定行的結(jié)束 如:‘grep$’匹配所有以grep結(jié)尾的行。
。
匹配一個非換行符的字符 如:‘gr.p’匹配gr后接一個任意字符,然后是p。
*
匹配零個或多個先前字符 如:‘*grep’匹配所有一個或多個空格后緊跟grep的行。 .*一起用代表任意字符。
?。郏?br /> 匹配一個指定范圍內(nèi)的字符,如‘[Gg]rep’匹配Grep和grep。
?。踍]
匹配一個不在指定范圍內(nèi)的字符,如:‘[^A-FH-Z]rep’匹配不包含A-R和T-Z的一個字母開頭,緊跟rep的行。
?。ā?)
標(biāo)記匹配字符,如‘(love)’,love被標(biāo)記為1。
《
錨定單詞的開始,如:‘《grep’匹配包含以grep開頭的單詞的行。
》
錨定單詞的結(jié)束,如‘grep》’匹配包含以grep結(jié)尾的單詞的行。
x{m}
重復(fù)字符x,m次,如:‘0{5}’匹配包含5個o的行。
x{m,}
重復(fù)字符x,至少m次,如:‘o{5,}’匹配至少有5個o的行。
x{m,n}
重復(fù)字符x,至少m次,不多于n次,如:‘o{5,10}’匹配5--10個o的行。
w
匹配文字和數(shù)字字符,也就是[A-Za-z0-9],如:‘Gw*p’匹配以G后跟零個或多個文字或數(shù)字字符,然后是p。
W
w的反置形式,匹配一個或多個非單詞字符,如點(diǎn)號句號等。
b
單詞鎖定符,如: ‘bgrepb’只匹配grep。
3. 用于egrep和 grep -E的元字符擴(kuò)展集
+
匹配一個或多個先前的字符。如:‘[a-z]+able’,匹配一個或多個小寫字母后跟able的串,如loveable,enable,disable等。
???
匹配零個或多個先前的字符。如:‘gr?p’匹配gr后跟一個或沒有字符,然后是p的行。
a|b|c
匹配a或b或c。如:grep|sed匹配grep或sed
?。ǎ?br /> 分組符號,如:love(able|rs)ov+匹配loveable或lovers,匹配一個或多個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的另一個寫法。要把它們放到[]號內(nèi)才能成為正則表達(dá)式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符類。
?。郏篴lnum:]
文字?jǐn)?shù)字字符
?。郏篴lpha:]
文字字符
?。郏篸igit:]
數(shù)字字符
?。郏篻raph:]
非空字符(非空格、控制字符)
[:lower:]
小寫字符
?。郏篶ntrl:]
控制字符
?。郏簆rint:]
非空字符(包括空格)
?。郏簆unct:]
標(biāo)點(diǎn)符號
?。郏簊pace:]
所有空白字符(新行,空格,制表符)
?。郏簎pper:]
大寫字符
?。郏簒digit:]
十六進(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ì)算平臺中文學(xué)習(xí)筆記免費(fèi)下載 3次下載
- 機(jī)器學(xué)習(xí)的個人學(xué)習(xí)筆記 22次下載
- 模擬電路的學(xué)習(xí)筆記資料免費(fèi)下載 58次下載
- Java設(shè)計(jì)模式學(xué)習(xí)筆記 5次下載
- Ansoft學(xué)習(xí)筆記 0次下載
- PADS_2007學(xué)習(xí)筆記 18次下載
- 模擬電路學(xué)習(xí)筆記 0次下載
- Allegro學(xué)習(xí)筆記 0次下載
- ModelSimSE進(jìn)行功能和時序仿真的學(xué)習(xí)筆記 68次下載
- Altera Modelsim學(xué)習(xí)筆記 66次下載
- Simulink自動生成代碼現(xiàn)階段的學(xué)習(xí)筆記 2501次閱讀
- ElfBoard學(xué)習(xí)筆記分享 321次閱讀
- MM32F0140 DMA學(xué)習(xí)筆記 588次閱讀
- shell腳本基礎(chǔ):正則表達(dá)式grep 1043次閱讀
- CRust學(xué)習(xí)筆記:智能指針和內(nèi)部可變性 702次閱讀
- CRust學(xué)習(xí)筆記:聲明宏 684次閱讀
- CRust學(xué)習(xí)筆記:生命周期-2 729次閱讀
- CRust學(xué)習(xí)筆記:生命周期-1 715次閱讀
- 如何使用grep對標(biāo)準(zhǔn)輸出進(jìn)行過濾 2313次閱讀
- 如何使用grep命令 1938次閱讀
- grep命令常用的選項(xiàng)詳解 4212次閱讀
- 如何使用grep命令的多種搜索模式及搜索多個字符串 2466次閱讀
- Linux在在文件中查找文本的Grep命令 3183次閱讀
- Linux 中 grep 命令的超級用法實(shí)例 4576次閱讀
- 詳細(xì)的STM32單片機(jī)學(xué)習(xí)筆記 1.4w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 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電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(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é)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多