正则表达式――grep

前端之家收集整理的这篇文章主要介绍了正则表达式――grep前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不管是在Linux下还是在windows下,以及一些编程语言中都要用到正则表达式,这足以说明正则表达式的重要性,今天就让我们来熟悉一下Linux下的grep的正则表达式。

首先什么是正则表达式:正则表达式就是一套处理大量字符串而定义的规则和方法。利用正则表达式可以快速过滤、替换需要的内容。Linux政策表达式是以行为单位处理的。


其次为什么学习正则表达式:Linux运维工作,时刻面临着大量日志、程序、命令的输出,熟练地掌握正则表达式可以提高你的工作效率。


基于grep的正则表达式:

1.^ : ^word表示搜素以word开头的内容

2.$ : word$表示搜素以word结尾的内容

3.^$: $表示文章的结尾,而^$表示以结尾开头的内容,意思就是空行作为开头

例子:grep "^$" test 就表示输出test文件里面的空行的所有内容

grep -v "^$" test 就表示输出test文件里面的不包含空行的所有行。

4..: .代表且只能代表任意一个字符

例子: grep "old.y" test 表示查找test文件中的前面为old,结尾为y的单词。

grep ".$" test 表示将test文件中的以任意字符结尾。

5.\ : \代表转义字符,让有特殊身份意义的字符,脱掉马甲,还原原型

例子:\.在这里的点不在代表任意一个字符的意思,而是一个普通的点。

grep "\.$" test 表示过滤除test文件中的以点结尾的行。

6.* :表示重复0个或多个前面的一个字符

例子:"0*" 表示重复前面0字符的行。

7..* : 表示匹配所有的字符

例子:grep ".*" test 表示过滤出重复前面任意一个字符的行。

8.[abc]:表示匹配字符集中的任意一个字符

9.[^abc]:^在这里表示非,即不包含a或b或c的字符串

grep "[^0-9]" test 匹配不是数字的行。

10.{n,m}:表示重复n到m次前一个字符

#完结

附:

grep的一些参数:

grep -v 表示排除匹配的内容

-E 支持扩展的正则表达式

-i 忽略大小写

-o 表示只输出匹配的内容

-n 显示行号

猜你在找的正则表达式相关文章