Linux之grep工具的使用

grep是一个强大的文本搜素工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
介绍两种规范
- Basic规范
将字符?+ { } | ( )解释为字面意思。要表示特殊的意思需要加转义字符\
- Extended规范
将字符?+ { } | ( )解释为特殊的意思。要表示字面意思需要加转义字符\
grep采用Basic规范
命令选项:
常见的命令选项:
-E:表⽰示采⽤用Extended正则表达式语法。
-q:取消显示,只返回退出状态。0表示找到了。
-i:忽略大小写。
-R:递归读取目录下所有文件,包括子目录。
-v:显示不匹配的行。
–color:加匹配到的行,加颜色显示。

不常用的命令选项:
-m:同时显示匹配行的上下m行。如m为2,则表示同时显示匹配行的上下2行。
-a:支持二进制文件匹配。grep本是文本匹配的。加上-a,可在二进制文件中匹配。
-b:打印匹配行前面总共有多少字节和匹配行内容
Linux之grep工具的使用_第1张图片
-c:打印匹配的行数。
-f:从文件中提取模板。
-h:当搜索多个文件时,不显示匹配文件名的前缀。
-o:只显示正则表达式匹配的部分。
-I:打印匹配模板的文件清单。
-L:打印不匹配模板的文件清单。
-n:在匹配行前面打印行号。
-s:不显示不存在或无法读取文件的错误信息。
-w:把表达式当做一个单词
-V:显示软件版本信息。
举几个简单的例子
1.匹配文件中正确的IP地址
Linux之grep工具的使用_第2张图片
大家可以观察一下上面几个的不同。
2.grep也可以在命令行上直接使用
这里写图片描述
grep支持正则表达式,下面介绍正则表达式
规定一些特殊语法表⽰示字符类、数量限定符和位置关系,然后⽤用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。
字符类:在一个模式中表示一个字符,但是取值范围为任意一个字符。
Linux之grep工具的使用_第3张图片
数量限定符:规定每个字符出现的次数。
Linux之grep工具的使用_第4张图片
位置限定符:描述各种字符类以及普通字符出现的位置。
Linux之grep工具的使用_第5张图片
举几个例子:
Linux之grep工具的使用_第6张图片

Linux之grep工具的使用_第7张图片

Linux之grep工具的使用_第8张图片

标准正则与扩展正则区别
这里写图片描述
总结:标准正则用的是Basic规范,扩展正则用的是Extended规范。
工具egrep和grep -E的效果一样。

你可能感兴趣的:(Linux)