正则表达式――grep

前端之家收集整理的这篇文章主要介绍了正则表达式――grep前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@不管是在Linux下还是在windows下,以及一些编程语言中都要用到正则表达式,这足以说明正则表达式的重要性,今天就让我们来熟悉一下Linux下的grep的正则表达式。

@H_502_0@

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

@H_502_0@

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

@H_502_0@

@H_502_0@基于grep的正则表达式:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@H_502_0@#完结

@H_502_0@附:

@H_502_0@grep的一些参数:

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

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

@H_502_0@ -i 忽略大小写

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

@H_502_0@ -n 显示行号

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