发布于2026-06-29 阅读(0)
扫一扫,手机访问
日志分析是运维日常中最常见的场景之一,而grep就是用得最顺手的那把刀。不过很多人用起来还是习惯一条命令从头敲到尾,其实稍微调整一下思路,效率就能翻倍。下面这几个方法,都是实战中反复验证过的,值得收藏。

log.txt里抓出所有ERROR行:cat log.txt | grep "ERROR"
当然,更地道的方式是直接让grep读文件,不过用管道处理流式输出时,这条原则一样好用。
-E开启扩展正则:grep -E "b([0-9]{1,3}.){3}[0-9]{1,3}b" log.txt
注意这里用b做了单词边界限定,避免把类似192.168.1.1000这样的错误匹配也抓进来。
-i就好了ERROR、error甚至Error,每次手动写正则太麻烦。直接加-i,不区分大小写全部扫一遍:grep -i "error" log.txt
-v反向搜索INFO行,快速定位异常:grep -v "info" log.txt
这个选项配合管道使用效果更佳,比如先筛出ERROR,再排除掉已知的“超时”误报。
-l-l只输出匹配的文件名,一眼就能锁定目标:grep -l "ERROR" *.log
对应的,想看具体匹配行数可以换成-c,稍后也会提到。
grep -n "ERROR" log.txt
配合编辑器或者tail -n,瞬间就能定位到上下文。
-c看频率grep -c "ERROR" log.txt
注意这里是匹配行的数量,不是出现次数。如果一行里有多个ERROR,只会算一次。
sort和uniq处理,就能挖出更深的信息。例如想统计发生次数最多的错误类型:grep "ERROR" log.txt | sort | uniq -c | sort -rn
这条命令会先提取所有ERROR行,排序后统计每种错误出现的次数,再按从多到少排序。谁是最频发的罪魁祸首,一目了然。
总的来说,grep虽小,但用好这些选项组合,就能从海量日志里快速捞出有价值的信息。关键是理解每个选项解决了什么问题,然后灵活搭配。下一次排查日志时,不妨试试这些手法,效率提升不止一个量级。
下一篇:如何设置合适的日志保留策略
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8