linux三剑客之grep详解
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 | 显示不能够被模式匹配到的行 |
| -r | 递归查询 后面要跟目录而非文件名称 |
| -H | 匹配到的文本前加入文件名称,在搜索多个文件时可用 |
| -A# | 显示被模式匹配到的行及后#行,就是查找上下文信息,可用于追踪分析 |
| -B# | 显示被模式匹配到的行及前#行 |
| -C# | 显示被模式匹配到的行及后#行 |
使用多个参数时可-xx,也可-x -x,为了阅读方便还是建议使用后者
2.3元字符
在匹配模式中可以使用元字符,常用的元字符如下所示
| 元字符 | 解释 |
|---|---|
| . | 任意一个非空格字符 |
| * | 匹配前面包含零个或多个字符 |
| [] | 匹配方括号中的字符类中的任意一个 |
| ^ | 匹配开头 |
| $ | 匹配结尾 |
| \ | 匹配转义 |
3.注意点
- .*可以匹配任意个字符
- h*l可以匹配到 任意个h或没有h,紧跟着l, *x *在前面是匹配不到任何数据的

浙公网安备 33010602011771号