Linux re

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

 

注意,'!'、'>'并不是正则符号。

posted @ 2019-03-17 14:26  羊小羚  阅读(549)  评论(0编辑  收藏  举报