shell中的正则表达式

1、正则与通配符


linux中的通配符是用来匹配文件名的,其匹配是完全匹配。只支持通配符则命令有ls find cp等命令

正则是用来匹配字符串的,是包含匹配。只要搜索的内容在某个字符串中,那么改字符串则被认为符合条件,支持的命令有grep awk sed。

2、规则


 

 

 

 

空白行的匹配,我们先看一下有空白行的文本文件是什么样的?

 可以看到,当我们在写完一行属于回车时,其实是以$为结束标志的。所以正则表达式中匹配某行以xx结尾(如:.html$)结尾是由此而来的。图中的第三行是由多个空格组成的。那么我们如何去掉文本中的空白行呢?

注意这里的^有两个含义:表示开头,也表示非。

可以看到当匹配“^$”时,只显示出第二行,这表示以$开头的行。而当匹配“[^$]”时只有第二行没有显示。这时如果单纯将^理解为非时,则表示匹配没有$的行,那结果应该是都不显示。所以这里的^应该也有以$为开始的意思。

 

posted @ 2016-05-29 23:43  被罚站的树  阅读(577)  评论(0编辑  收藏  举报