You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Shell脚本实时tail日志新增行并grep匹配指定error code

实时tail日志并筛选指定错误码的实现方案

基础通用方案

直接使用系统原生的tail+grep命令组合即可满足需求,无需安装额外工具:

tail -f /path/to/your/logfile | grep "指定的error code"

参数说明

  • tail -f:持续监听目标日志文件的新增内容,有新行写入时会实时输出到标准流
  • 管道符|:将tail输出的内容实时传递给grep做匹配过滤
  • grep "指定的error code":仅输出包含目标错误码的行

场景适配优化

1. 适配日志轮转场景

如果你的服务会按大小/时间切割日志(切割后原日志重命名、生成新的同名日志文件),将-f改为大写的-F即可自动跟踪新生成的同名日志文件,避免监听中断:

tail -F /path/to/your/logfile | grep "指定的error code"

2. 其他常用过滤需求

  • 忽略大小写匹配:给grep加-i参数
    tail -F /path/to/your/logfile | grep -i "指定的error code"
    
  • 同时查看匹配行的上下文:加-C N参数可显示匹配行前后各N行,-B N仅显示前N行,-A N仅显示后N行
    # 显示匹配行前后各3行
    tail -F /path/to/your/logfile | grep -C 3 "指定的error code"
    
  • 多错误码匹配:加-E参数用竖线分隔多个匹配规则
    # 匹配error code 1001或1002的行
    tail -F /path/to/your/logfile | grep -E "error code 1001|error code 1002"
    
  • 同时保存匹配结果到本地文件:追加tee -a命令
    tail -F /path/to/your/logfile | grep "指定的error code" | tee -a /path/to/save/result.log
    

3. 远程日志监听

如果需要监听远程服务器的日志,直接通过ssh远程执行命令即可:

ssh user@remote_ip "tail -F /path/to/remote/logfile | grep '指定的error code'"

内容的提问来源于stack exchange,提问作者Time

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:15:03