Linux Shell腳本的編程之正則表達(dá)式
一 正則表達(dá)式與通配符
1 正則表達(dá)式是用在文件中匹配符合條件的字符串,正則是包含匹配,grep,awk,sed等命令可以支持正則表達(dá)式
2 通配符是用來(lái)匹配符合條件的文件名,通配符是完全匹配,ls,find,cp這些命令不支持正則表達(dá)式,所以只能用Shell自己的通配符來(lái)進(jìn)行匹配了。
二 基礎(chǔ)正則表達(dá)式
這里引用兄弟連的測(cè)試文本
1 * 前一個(gè)字符匹配0次或任意多次
grep “a*” test_rule.txt
匹配所有內(nèi)容,包括空白行(由于*可以匹配0次)
grep “aa*” test_rule.txt
匹配至少包含有一個(gè)a的行
grep “aaa*” test_rule.txt
匹配至少包含有兩個(gè)a的行
2 . 匹配除了換行符之外的任意一個(gè)字符
grep “s..d” test_rule.txt
匹配s和d直接一定要有兩個(gè)字符的行
grep “s.*d” test_rule.txt
匹配s和d直接任意字符
grep “.*” test_rule.txt
匹配所有內(nèi)容
3 ^匹配行首 $匹配行尾
grep “^M” test_rule.txt
匹配以大寫M開頭的行
grep “n$” test_rule.txt
匹配以小寫n結(jié)尾的行
grep -n “^$” test_rule.txt
匹配空白行
4 [] 匹配括號(hào)中指定的任意一個(gè)字符,只匹配一個(gè)字符
grep “s[ao]id” test_rule.txt
匹配s和i字母之間,要么是a,要么是o的行
grep “[0-9]” test_rule.txt
匹配任意一個(gè)數(shù)字
grep “^[a-z]” test_rule.txt
匹配用小寫字母開頭的行
5 [^] 匹配除括號(hào)中以外的任意一個(gè)字符
grep “^[^a-z]” test_rule.txt
匹配不用小寫字母開頭的行
grep “^[^a-zA-Z]” test_rule.txt
匹配不用字符開頭的行
6 “\” 轉(zhuǎn)義符
grep “.$” test_rule.txt
匹配以.結(jié)尾的行
7 {n} 表示其前面的字符恰好出現(xiàn)n次
grep “a{3}” test_rule.txt
匹配字母a連續(xù)出現(xiàn)3次的行
grep “[0-9]{3}” test_rule.txt
匹配包含連續(xù)3個(gè)數(shù)字的行
8 {n,} 表示其前面的字符出現(xiàn)不小于n次
grep “^[0-9]{3,}” test_rule.txt
匹配至少連續(xù)3個(gè)數(shù)字開頭的行
9 {n,m} 表示其前面的字符出現(xiàn)不小于n次,最多m次
grep “sa{1,3}i” test_rule.txt
匹配s和i之間最少1個(gè)a,最多3個(gè)a
好了,Linux Shell編程-正則表達(dá)式就總結(jié)到這里,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
linux下監(jiān)控網(wǎng)絡(luò)流量的腳本
在我們的日常工作當(dāng)中,監(jiān)控網(wǎng)絡(luò)要么使用iptarf,ifstat這些命令實(shí)現(xiàn)的,但是需要裝額外的RPM包。特別是iptarf裝起來(lái)麻煩2013-01-01shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例
由于機(jī)器數(shù)量眾多,因此采用批量修改密碼的方式來(lái)進(jìn)行處理,本文主要介紹了shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Linux下查找后門程序 CentOS 查后門程序的shell腳本
這篇文章主要介紹了Linux下查找后門程序 CentOS 查后門程序的shell腳本,需要的朋友可以參考下2014-09-09Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計(jì)并郵件通知
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計(jì)并郵件通知,其中表空間是指oracle數(shù)據(jù)庫(kù)里的表空間,需要的朋友可以參考下2014-12-12通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置
這篇文章主要介紹了通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07