一、grep简介
grep 全程Globally searchaRegular Expression and Print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep和egrep
二、grep的工作模式
2.1.grep执行语法
grep [option]file...
2.2.工作方式
grep在一个或者多个文件中搜索字符串模板
如果模板中包括空格,需要使用引号引起来
模板后的所有字符串会被看作是文件名
2.3.工作结果
如果模板搜索成功,则返回0状态码
如果搜索不成功,则返回1状态码
如果搜索的文件不存在,则返回2的状态码。
三.grep的常用参数详解
3.1.常用参数详解
3.2.演示示例
a)建立测试文件
b)过滤文件中所有含有root字符串的行
c)过滤包含root单词的行
d)过滤含有root字符的行忽略大小写
e)过滤含有root单词和bash单词的行
f)只显示匹配内容不不显示其他并标注行号
g)显示包含root字符串的行的总数
h)显示不含有root的行
j)显示含有adm关键字及其周围的2行
k)显示含有adm关键字及其下面1行
l)显示含有adm关键字及其上面2行
四.正则表达式的使用
4.1.什么是正则表达式
正则表达式就是用在字符串的处理上面的一项表示式在我们做程序设计时很多需要对一类字符进行处理,正则表达式就完美的解决了这个问题
4.2.正则表达式
基本正则表达式(Basic Regular Expression,BRE),又称为标准正则表达式,是最早制订的正则表达式规范,仅支持最基本的元字符集。基本正则表达式是POSIX规范制订的两种正则表达式语法标准之
一,另外一种语法标准称为扩展正则表达式
扩展正则表达式(Extended Regular Expression,ERE)支持比基本正则表达式更多的元字符
Note
在grep命令使用基本正则表达式时不需要加任何参数
在grep命令使用扩展正则表达式时必须加-E参数
示例:
a)过滤以root开头的行,过滤以root开头bash结尾的行
b)过滤以root结尾的行
c)搜索e开头y结尾的三字符单词,搜索e开头y结尾的四字符单词
D)搜索e开头v结尾的所有行
c)搜索自定次数出现的字符
4.3.正则表达式字符集
示例: