?正則表達式并不是一個工具程序,而是一個字符串處理的標準依據,如果想要以正則表達式的方式處理字符串,就得使用支持正則表達式的工具,例如grep、vi、sed、asw等。
注意:ls不支持正則表達式。
?
grep + 正則表達式:
注意grep是按行抓取,所以第18、19行沒問題。
?
grep + 特殊符號:
?
示例,
?
斷行字符:^M
當抓取以'.'結尾的行時,第5~9行沒有抓取到,原因就是Windows的斷行字符^M導致的。可以用`cat -A`查看。
?
任意一個字符'.'? 重復字符'*'
'+'屬于擴展正則,需要使用egrep
?
字符范圍{}
注意:因為 '{' 和 '}' 在shell中有特殊意義,因此需要使用轉義字符。
?
?
擴展的正則表達式
刪掉注釋行和空行
之前的方法:$ grep -v '^$' regular_express.txt | grep -v '^#'? # 要進行兩次搜尋
擴展之后的方法:$ egrep -v '^$|^#' regular_express.txt? # 只有進行一次搜尋
grep只支持基礎正則
egrep(grep -E) 支持擴展正則
?
注意,'!'、'>'并不是正則符號。