1.特殊符號在shell正則中的作用
^ 匹配正則表達(dá)式的開頭,或若果在括號中,表示不匹配擴(kuò)括號內(nèi)的字符
$ 匹配前面的正則表達(dá)式,在字符串或者行結(jié)尾處
. ?匹配任意字符
*? 匹配0或多個的前面字符
.* 匹配任意字符包括空行
? ?匹配0或1個的前面字符,使用時前面需加上轉(zhuǎn)義符號\
+ ?匹配1或多個的前面字符,使用時前面需加上轉(zhuǎn)義符號\
() 匹配括起來的正則表達(dá)式群,使用時前面需加上轉(zhuǎn)義符號\,例如\(abc\)
[] 匹配方括號內(nèi)的任一字符,其中可用連字符(-)指的連續(xù)字符的范圍;^符號苦出現(xiàn)在方括號的第一個位置,則表示匹配不在列表中的任一字
{} 區(qū)間表達(dá)式,匹配在它前面的單個字符重現(xiàn)的次數(shù)區(qū)別。\{n\}指重現(xiàn)n次;\{n,m\}指重現(xiàn)n至m次;
【備注】:
grep命令使用上述字符時,若加上-E參數(shù),則正則表達(dá)式中無需加轉(zhuǎn)義符\,例如:
grep "\(ccc\)\{4\}" 1.sh
grep -E "(ccc){4}" 1.sh