linux三剑客之grep详解

发布时间 2023-03-25 13:00:41作者: 小刘的早餐店

1.什么是Grep

grep(Golobal Regular Expression print)是Linux系统中一个强大的文本搜索工具,也是俗称的搜索三兄弟之一,其他两个是awk和sed,grep可以把搜索到的内容打印到屏幕上,并且不影响搜索目标文件,同时可以使用正则表达式进行搜索。

2.用法

2.1基本语法

grep [OPTION]... PATTERN [FILE]...

OPTION:参数
PATTERN:匹配表达式
FILE:要搜索的文件
通过语法可以看出,OPTION和FILE均可是多个,可以在命令行中输入 grep --help 来获取命令帮助

2.2 OPTION参数

参数 解释
-c 只显示匹配的行数,做统计使用
-n 匹配到的文本前加入行号
-o 只显示被模式匹配到的内容, 没有该参数会显示整行文本数据,并且匹配到的文本标红
-i 搜索时不区分大小写
-v 显示不能够被模式匹配到的行
-H 匹配到的文本前加入文件名称,在搜索多个文件时可用
-A# 显示被模式匹配到的行及后#行,就是查找上下文信息,可用于追踪分析
-B# 显示被模式匹配到的行及前#行
-C# 显示被模式匹配到的行及后#行

使用多个参数时可-xx,也可-x -x,为了阅读方便还是建议使用后者

2.3元字符

在匹配模式中可以使用元字符,常用的元字符如下所示

元字符 解释
. 任意一个非空格字符
* 匹配前面包含零个或多个字符
[] 匹配方括号中的字符类中的任意一个
^ 匹配开头
$ 匹配结尾
\ 匹配转义

3.注意点

  • .*可以匹配任意个字符
  • h*l可以匹配到 任意个h或没有h,紧跟着l, *x *在前面是匹配不到任何数据的