shell中的正则表达式

Posted 被罚站的树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中的正则表达式相关的知识,希望对你有一定的参考价值。

1、正则与通配符


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

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

2、规则


 

 

 

 

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

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

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

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

 

以上是关于shell中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

linux基础:shell中的正则表达式用法大全

Shell编程Shell中的正则表达式

shell中的正则表达式, and和or写法, vim中的查找和替换用法

Shell中的if结合正则表达式使用

Shell中的if结合正则表达式使用

shell中的SED与正则式(帮我做下这些题目,谢谢)