正则表达式并不是一个工具程序,而是一个字符串处理的标准依据,如果想要以正则表达式的方式处理字符串,就得使用支持正则表达式的工具,例如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) 支持扩展正则
注意,'!'、'>'并不是正则符号。