Linux正則表示式引擎(BRE ERE)支援的一些表達形式(Part.I BRE)
阿新 • • 發佈:2018-12-15
BRE(basic regular expression):以sed為例 純文字 :echo "Happy New Year" | sed -n '/Happy/p' 錨字元 : 匹配在行首 :echo "Happy New Year" | sed -n '/^Happy/p' 匹配在行尾 :echo "Happy New Year" | sed -n '/Year$/p' 點字元 :echo “have a good time” | sed -n '/ . /p' 字元組 :echo “have a good time” | sed -n '/ [abcde] /p' 排除型 :echo "have b good time" | sed -n '/ [^a] /p' 區間 :echo "have c good time" | sed -n '/ [a-d] /p' 特殊字元組 : [[:alpha:]] :匹配任意字母字元,忽視大小寫 [[:alnum:]] :匹配任意字母或數字,字母忽視大小寫 [[:blank:]] :匹配空格或者製表符 [[:digit:]] :匹配數字 [[:lower:]] :匹配小寫字母 [[:print:]] :匹配可列印字元 [[:punct:]] :匹配標點符號 [[:space:]] :匹配任意空白字元(Space Tab FF(換頁) VT(垂直製表符) CR(回車)和NL(換行)) *注 :回車和換行在ASCII碼中不同,詳見:https://m.jb51.net/article/26547.htm [[:upper:]] :匹配大寫字母 星號 :echo "ik" | sed -n '/ie*k/p'字元出現0次或者N次 用例 : 查詢空行刪除 :(echo "first";echo "";echo "Third") | sed '/^$/d' 查詢可能相連,可能分離的兩個詞 : (echo "HaveFun";echo "Have Fun";echo "Have Fun") | sed -n '/Have.*Fun/p' --------------------《Linux Command Line and Shell Scripting Bible,3E》