Linux中grep命令使用说明

Linux中grep命令使用说明

grep是Linux系统中最常用的文本搜索工具,全称是Global Regular Expression Print,支持正则表达式搜索,可根据指定模式过滤/提取匹配的文本行。以下是最常用参数及其作用,按功能分类整理:

一、模式匹配控制类

-i:忽略大小写差异,匹配时不区分大小写字母。

-v:反向匹配,只输出不包含指定模式的行。

-w:整词匹配,只匹配模式是完整单词的行,不匹配单词的一部分。

-x:整行匹配,要求模式与整行内容完全一致才会匹配。

-G:使用基本正则表达式(BRE)匹配,这是grep默认模式。

-E:使用扩展正则表达式(ERE)匹配,等同于egrep,支持更多正则元字符,更适合复杂匹配。

-F:将搜索模式视为固定字符串,而非正则表达式,等同于fgrep,只做简单字符串匹配。

二、输出格式控制类

-n:在输出匹配行的同时,显示该行在文件中的行号,方便快速定位。

-c:只输出匹配行的总数量,不输出具体的匹配行内容(一行出现多次仍只计为1次)。

-l:只输出包含匹配内容的文件名,不输出具体匹配行,适合批量定位文件。

-L:只输出不包含匹配内容的文件名,多用于排除筛选。

-o:只输出每行中匹配模式的部分,而非输出整行内容。

-q:静默模式,不输出任何匹配结果(仅通过命令返回值判断是否匹配,常用来做条件判断)。

-s:不显示"文件不存在"或"无匹配文本"这类错误信息。

--color:对匹配到的文本内容高亮显示,方便阅读。

三、范围与上下文控制类

-r/-R:递归搜索,自动遍历指定目录及其所有子目录下的文件进行匹配。

-A :After,输出匹配行后,额外再输出匹配行后面的num行,常用于查看报错后续堆栈。

-B :Before,输出匹配行后,额外再输出匹配行前面的num行,常用于查看报错前的操作。

-C :Context,输出匹配行后,额外再输出匹配行前后各num行,是日志分析最常用的上下文参数。

四、其他常用参数

-f :从指定文件中读取多个搜索模式,每行一个模式,实现批量匹配。

-m :每个文件最多匹配num次后就停止搜索,可提升大文件搜索效率。

-V/--version:显示当前grep命令的版本信息。

常用命令

bash 复制代码
grep -rn --color 'aaaaaaa' /a/b/c.log -A 10
相关推荐
minji...1 小时前
Linux 网络套接字编程(六)TCP的通信是全双工的,自定义协议的定制,序列化和反序列化
linux·运维·服务器·网络·c++
晚风予卿云月2 小时前
【linux】僵尸进程与孤儿进程
linux·运维·服务器
故事还在继续吗2 小时前
Linux cgroup 使用指南:从原理到实践
linux·运维·服务器
csdn2015_2 小时前
lambdaQuery 加 or
java·linux·服务器
ℳ₯㎕ddzོꦿ࿐2 小时前
实战:在 Linux 系统用 Docker-Compose 优雅部署 GitLab 及防坑指南
linux·docker·gitlab
源图客2 小时前
Linux(CentOS9)服务器部署gitlab-ce-18.11.1-ce.0.el9.x86_64.rpm
linux·服务器·gitlab
原来是猿2 小时前
网络命令入门:Ping、Netstat 和 Pidof 详解
linux·运维·服务器
H Journey2 小时前
常用知识总结C++、CMake、Linux
linux·c++·opencv·cmake
Z文的博客2 小时前
嵌入式LINUX QT 开发 .gitignore 文件编写指南
linux·git·qt·elasticsearch·嵌入式