linux中文本文件操作之grep命令

文章目录

背景

在日常运维中会对日志文件,使用grep命令进行查找和过来,记录各种参数使用,方便备查。

案例demo

案例文件 【2025-08-23.log】,模拟文件内容如下。

powershell 复制代码
2025-08-23 12:00:00 - Error: Cannot connect database
2025-08-23 12:10:00 - Error: Out of Memory,please check
2025-08-23 12:20:00 - Error: Null Pointer
2025-08-23 12:20:00 - error: ArrayIndexOutOfBoundsException,please check

环境

方式一、安装wsl

在window环境下,可使用【wsl 】实现效果,安装命令如下所示。

powershell 复制代码
wsl --install

安装完毕即拥有linux环境,可直接使用

方式二、安装grep

可下载grep安装,地址【下载grep

一、查找指定字符串

使用命令【grep 待查找的字符串 文件名】,对应本案例的命令为【grep 'Error' 2025-08-23.log】

二、忽略大小写查找

命令中添加【-i】参数,即使用命令【grep -i 待查找的字符串 文件名】,对应本案例的命令为【grep -i 'Error' 2025-08-23.log】

三、查找时显示行号

命令中添加【-n】参数,即使用命令【grep -n 待查找的字符串 文件名】,对应本案例的命令为【grep -n 'Error' 2025-08-23.log】

四、统计匹配的次数

命令中添加【-c】参数,即使用命令【grep -c 待查找的字符串 文件名】,对应本案例的命令为【grep -c 'Error' 2025-08-23.log】

五、精准匹配一个单词

命令中添加【-w】参数,即使用命令【grep -w 待查找的字符串 文件名】,对应本案例的命令为【grep -w 'Error' 2025-08-23.log】

六、显示匹配上下文

【-A】 显示匹配行后面几行

【-B】 显示匹配行前面几行

【-C】 显示匹配行前后几行

七、只显示匹配的内容

命令中添加【-o】参数,只显示匹配内容,而不是整行

即使用命令【grep -o 待查找的字符串 文件名】,对应本案例的命令为【grep -o 'Error' 2025-08-23.log】

八、按固定字符串匹配

命令中添加【-F】参数,只显示匹配内容,而不是整行

即使用命令【grep -F 待查找的字符串 文件名】,对应本案例的命令为【grep -F 'Error' 2025-08-23.log】