欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Shell編程之正則表達式三劍客——grep,egrep

正則表達式概述

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。

創(chuàng)新互聯專注于雞西梨樹企業(yè)網站建設,成都響應式網站建設公司,商城系統網站開發(fā)。雞西梨樹網站建設公司,為雞西梨樹等地區(qū)提供建站服務。全流程按需求定制設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯專業(yè)和態(tài)度為您提供的服務

基礎正則表達式

正則表達式的字符串表達方法根據不同的嚴謹程度與功能分為基本正則表達式與擴展正則表達式?;A正則表達式是常用的正則表達式的最基礎的部分。在 Linux 系統中常見的文件處理工具中 grep 與 sed 支持基礎正則表達式,而 egrep 與 awk 支持擴展正則表達式。

基礎正則表達式示例

以httpd服務的配置文件為例(/etc/httpd/conf/httpd.conf)
1)查找特定字符
-n:顯示行號  -i:不區(qū)分大小寫
查找出目標文件中帶有“the”的字符
[root@localhost conf]# grep -n 'the' httpd.conf

Shell編程之正則表達式三劍客——grep,egrep

若反向查找,查找不包含“the”字符的行,則需要通過“-vn”選項實現
[root@localhost conf]# grep -vn 'the' httpd.conf

Shell編程之正則表達式三劍客——grep,egrep

2)利用中括號“[ ]”來查找集合字符(先創(chuàng)建一個自定義的文本文件a.txt)
想要查找“shirt”與“short”這兩個字符串時,可以發(fā)現這兩個字符串均包含“sh” 與“rt”。此時執(zhí)行以下命令即可同時查找到“shirt”與“short”這兩個字符串?!癧]”中無論有幾個字符,都僅代表一個字符,也就是說“[io]”表示匹配“i”或者“o”。

#a.txt實驗文本
short
shirt
oo
tools
wood
woooooood
Wood
the football
this the web
123123
456456.
[root@localhost ~]# grep -n 'sh[io]rt' a.txt

Shell編程之正則表達式三劍客——grep,egrep

若要查找包含重復單個字符“oo”時,只需要執(zhí)行以下命令即可
[root@localhost ~]# grep -n 'oo' a.txt

Shell編程之正則表達式三劍客——grep,egrep

若查找“oo”前面不是“w”的字符串,只需要通過集合字符的反向選擇“[^]”來實現該目的

[root@localhost ~]# grep -n '[^w]oo' a.txt

Shell編程之正則表達式三劍客——grep,egrep

在上述命令的執(zhí)行結果中發(fā)現“wooooood”也符合匹配規(guī)則,包含“w”。其實通過執(zhí)行結果就可以看出,符合匹配標準的字符加粗顯示,而上述結果中可以得知,“#wooooood #”中加粗顯示的是“oooooo”,而“oo”前面的“o”是符合匹配規(guī)則的。

若不希望“oo”前面存在小寫字母a-z A-Z 數字0-9
[root@localhost ~]# grep -n '[^a-z]oo' a.txt

Shell編程之正則表達式三劍客——grep,egrep

3)查找行首“^”與行尾字符“$”
基礎正則表達式包含兩個定位元字符:“^”(行首)與“$”(行尾)。在上面的示例中,查詢“the”字符串時出現了很多包含“the”的行,如果想要查詢以“the”字符串為行首的行,則可以通過“^”元字符來實現。

[root@localhost ~]# grep -n '^the' test.txt

Shell編程之正則表達式三劍客——grep,egrep

查詢以小寫字母開頭的行可以通過“^[a-z]”規(guī)則來過濾,查詢大寫字母開頭的行則使用“^[A-Z]”規(guī)則,若查詢不以字母開頭的行則使用“^[^a-zA-Z]”規(guī)則。

[root@localhost ~]# grep -n '^[^a-zA-Z]'  a.txt

Shell編程之正則表達式三劍客——grep,egrep

“^”符號在元字符集合“[]”符號內外的作用是不一樣的,在“[]”符號內表示反向選擇,在“[]”符號外則代表定位行首。反之,若想查找以某一特定字符結尾的行則可以使用“$”定位符。例如,執(zhí)行以下命令即可實現查詢以小數點(.)結尾的行。因為小數點(.) 在正則表達式中也是一個元字符(后面會講到),所以在這里需要用轉義字符“\”將具有特 殊意義的字符轉化成普通字符??招惺褂胇$即可。

[root@localhost ~]# grep -n '\.$' a.txt 

Shell編程之正則表達式三劍客——grep,egrep

4)查找任意一個字符“.”與重復字符“*”
前面提到,在正則表達式中小數點(.)也是一個元字符,代表任意一個字符。例如, 執(zhí)行以下命令就可以查找“w??d”的字符串,即共有四個字符,以 w 開頭 d 結尾。

Shell編程之正則表達式三劍客——grep,egrep

在上述結果中,“wood”字符串“w..d”匹配規(guī)則。若想要查詢 oo、ooo、ooooo 等資料,則需要使用星號()元字符。但需要注意的是,“”代表的是重復零個或多個前面的單字符。

[root@localhost ~]# grep -n 'oo*' a.txt 

Shell編程之正則表達式三劍客——grep,egrep

查詢以 w 開頭 d 結尾,中間的字符可有可無的字符串。
[root@localhost ~]# grep -n 'w.d' a.txt
查詢任意數字所在行。
[root@localhost ~]# grep -n '[0-9][0-9]
' a.txt

5)查找連續(xù)字符范圍“{}”

查詢以 w 開頭以 d 結尾,中間包含 2~5 個 o 的字符串。
[root@localhost ~]# grep -n 'wo{2,5}d' a.txt
查詢以 w 開頭以 d 結尾,中間包含 2 個 o 以上的字符串。
[root@localhost ~]# grep -n 'wo{2,}d' a.txt

Shell編程之正則表達式三劍客——grep,egrep

元字符總結

常見的基礎正則表達式的元字符主要包括以下幾個

Shell編程之正則表達式三劍客——grep,egrep

擴展正則表達式

通常情況下會使用基礎正則表達式就已經足夠了,但有時為了簡化整個指令,需要使用范圍更廣的擴展正則表達式。
grep 命令僅支持基礎正則表達式,如果使用擴展正則表達式,需要使用 egrep 或 awk 命令。

擴展正則表達式常見元字符

Shell編程之正則表達式三劍客——grep,egrep

網站題目:Shell編程之正則表達式三劍客——grep,egrep
標題網址:http://aaarwkj.com/article16/pdhigg.html

成都網站建設公司_創(chuàng)新互聯,為您提供App設計Google、微信公眾號、App開發(fā)、品牌網站建設、網站維護

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網頁設計公司
欧美日韩亚洲中文综合网| 国产一级内射视频免费观看| 久久96国产精品久久秘臀| 中文字幕在线看精品乱码| 久久人人97超碰人人爱一久久精品 | 清纯唯美亚洲自拍第一页| 男女爱爱视频网站久久精选| 视频一区视频二区三区| 亚洲av成人在线播放| 相泽南亚洲一区二区在线播放| 蜜桃久久国产精品一区二区| 四虎在线观看最新免费| 琪琪精品免费一区二区三区| 麻豆国产国语精品三级在线观看| 亚州欧美制服另类国产| 国产又粗又长又大无遮挡| av在线高清免费观看| 亚洲免费小视频在线观看| 精品欧美不卡在线播放| 日韩亚洲欧洲一区二区三区| 亚洲欧洲一区二区免费| 未满18周岁禁止观看视频| 亚洲免费av一区在线观看| 中文字幕乱码人妻一区| 最新日韩欧美一区二区| 欧美午夜福利在线电影| 日韩一区二区三区av在线| 色综合色综合蘑菇在线| 偷拍丝袜美腿在线观看| 欧美日韩国产免费,日日骚| 欧美日韩一区二区综合性色| 日本东京热二三四区不卡免费的| 十八女毛片一区二区三区| 欧美亚洲国产日韩在线高清| 国产av剧情同事肉体秘密| 美国一级黄片在线观看| 国产精品呦呦国产精品尤物| 久久久亚洲熟妇熟女一区二区| 亚洲精品中文字幕日本乱码| 免费激情在线视频网址| 日韩精品a区二区在线电影|