一、grep基本介绍
全拼:Global search REgular expression and Print out the line.
作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行.
grep可支持的options可以包含有如下的参数:
grep命令里的匹配模式就是你想要找的东西,可以是普通的文字符号,也可以是正则表达式。
二、正则表达式grep实践
首先先看一下这个测试文件的内容吧:
2.1、输出以 I 开头的行(不区分大小写)
【注】: 这里的-i代表不区分大小写, -n代表显示匹配行和行号
2.2、输出以.结尾的行
【注】: 因为.在这里有着特殊含义, 所以要用\转义一下, 如果不加转义字符的话, grep就会把它当做正则表达式来处理(.代表的含义是匹配任意一个字符);
【注】:注意在Linux平台下, 所有文件的结尾都有一个$符,我们可以使用cat -a
来查看文件的详细的内容:
三、扩展正则表达式grep实践
3.1、+号
+号表示匹配前一个字符1一次或多次,必须使用grep-E扩展正则
3.2、?符
匹配前一个字符0次或1次,找出文件中包含gd或者god的行
3.3、|符
竖线|再正则中是或者的意思;找出opt目录中txt结尾的文件, 其名字中包含a或者e, 不区分大小写(-i)
3.4、()小括号
将一个或多个字符捆绑在一起, 当作一个整体进行处理
3.5、{n,m}匹配次数
{n,m}:匹配前一个字符至少n次, 最多m次
{n,}: 匹配前一个字符至少n次, 没有上限
{,m}: 匹配前一个字符最多m次,可以没有
重复前一个字符各种次数, 可以通过-o参数显示明确的匹配过程