正則表達式的定義:
正則表達式又稱正規表達式、常規表達式。在代碼中常簡寫為 regex、regexp 或 RE。正則表達式是使用單個字符串來描述、匹配一系列符合某個句法規則的字符串,簡單來說, 是一種匹配字符串的方法,通過一些特殊符號,實現快速查找、刪除、替換某個特定字符串。
基礎正則表達式
以httpd配置文件為例
為了防止失誤對httpd的配置文件造成損壞,首先我們先拷貝一份httpd配置文件到別處。
1)、查找特定字符
可從httpd.txt文件中查找出特定字符“the” 所在位置
可以使用命令:grep -n 'the' httpd.txt
查找不包含“the”字符的行
可以使用命令:grep -vn 'the' httpd.txt
2)、利用中括號“[]”來查找集合字符
想要查找“then”與“they”這兩個字符串時,可以發現這兩個字符串均包含“the”。此時執行以下命令:grep -n 'the[ny]' httpd.txt
即可同時查找到“then”與“they”這兩個字符串。“[]”中無論有幾個字符,都僅代表一個字符,也就是說“[ny]”表示匹配“n”或者“y”。
查找包含重復單個字符“oo”時
可以使用命令:grep -n 'oo' httpd.txt
查找“oo”前面不是“r”的字符串
可以使用命令:grep -n '[^r]oo' httpd.txt
若不希望“oo”前面存在大寫字母,可以使用“grep –n'[^A-Z]oo'httpd.txt”命令實現
查找包含數字的行可以通過“grep –n '[0-9]' httpd.txt”命令來實現
3)、查找行首“^”與行尾字符“$”
查詢大寫字母開頭的行使用grep -n '^[A-Z]' httpd.txt
查詢“.”結尾的行使用grep -n '.$' httpd.txt
因為小數點(.) 在正則表達式中也是一個元字符(后面會講到),所以在這里需要用轉義字符“\”將具有特 殊意義的字符轉化成普通字符。
查詢空白行時,執行“grep –n ‘^$’ httpd.txt”命令
4)、查找任意一個字符“.”與重復字符“*”
在正則表達式中小數點(.)也是一個元字符,代表任意一個字符,例如,查找以r開頭,t結尾,中間兩個未知字符的字符串,可以使用命令grep -n 'r..t' httpd.txt。
查詢包含至少兩個 o 以上的字符串,則執行“grep –n ‘ooo*’ httpd.txt”命令即可。
5)、查找連續字符范圍“{}”
因為“{}”在 Shell 中具有特殊 意義,所以在使用“{}”字符時,需要利用轉義字符“\”,將“{}”字符轉換成普通字符
(1)查詢兩個 o 的字符
grep -n 'o\{2\}' httpd.txt
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:Shell編程三劍客之grep-創新互聯
當前URL:http://m.kartarina.com/article16/cdcpgg.html
成都網站建設公司_創新互聯,為您提供標簽優化、營銷型網站建設、網站營銷、網站制作、網站改版、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯