当前位置: 首页 > news >正文

Shell Daily 2026-01-06: 精准提取 (Grep Only)

Shell Daily 2026-01-06: 精准提取 (Grep Only)

在日志分析中,我们经常面临这样的需求:只想把日志里的 IP 地址、订单号或 URL 单独抠出来。

为了达到这个目的,很多人的肌肉记忆是“组合拳”:先用 grep 过滤行,再用 awk 切分列,或者用 sed 做正则替换。比如为了拿一个 IP,可能写出 awk '{print $3}' 这种依赖列位置的代码,一旦日志格式变动,脚本立马失效。

其实,grep 早就具备了将它变成提取工具的能力,你只需要一个参数:-o (Only matching)

怎么用

通常 grep 会输出包含匹配内容的整行,而加上 -o 后,它只会输出匹配到的部分。每一处匹配都会单独占一行。

  • 语法grep -o "正则表达式" file
  • 兼容性Linux (GNU grep)macOS (BSD grep) 均支持。

适用场景

  • 数据清洗:从杂乱的文本中提取结构化数据(如邮箱、链接)。
  • 统计分布:配合 sort | uniq -c,统计某个特定模式(如错误码、API 接口)出现的频率。

示例 1:提取所有的 IP 地址

假设你有个 access.log,你想把里面所有的客户端 IP 拿出来,不管它出现在日志的第几列:

# -E 表示使用扩展正则 (Extended Regex)
# -o 表示只输出匹配到的 IP 字符串
grep -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" access.log# 输出结果不再是整行日志,而是纯净的 IP 列表:
# 192.168.1.1
# 10.0.0.5
# ...

示例 2:高频词统计 (Top K)

这是一个价值极高的组合技。假设你想知道今天的 Nginx 日志里,哪个 URL 报错(404)最多。

如果用 awk,你得数 URL 在第几列。用 grep -o,直接用正则匹配 URL 路径即可:

# 1. 先过滤出 404 的行
# 2. 用 grep -o 提取出请求路径 (比如 /api/v1/user/...)
# 3. 排序并统计频率
grep " 404 " access.log \| grep -o -E "/api/[a-zA-Z0-9/_]+" \| sort | uniq -c | sort -nr | head -5# 输出:
# 150 /api/v1/old_endpoint
#  89 /api/v2/glitchy_image.png

(注:把 grep 从“搜索行”变为“提取器”,能让你彻底摆脱对列号的依赖,写出更健壮的数据处理管道。)

http://www.jsqmd.com/news/205220/

相关文章:

  • 35+程序员转型指南:大模型岗位薪资与路径全解析,揭秘破局关键,助你职场逆袭!
  • Linux bind 命令详解
  • 合同条款冲突检测:自动识别潜在矛盾点
  • 高密度训练策略揭秘:如何让小模型发挥出大性能
  • vue大文件上传的多平台部署与性能优化策略
  • 为什么你的容器假死?,深度解析健康检查失效根源与修复方案
  • 实验性发布意味着什么?关于VibeThinker的定位解读
  • 参数仅15亿却胜过大模型,VibeThinker凭什么做到?
  • 生产管理系统哪个好?推荐这几款 - 企业数字化观察家
  • 作弊检测系统增强:分析操作模式识别异常行为
  • 如何快速将文件生成专属二维码?文件生成二维码指南
  • c语言复习
  • 结构化推理场景首选:VibeThinker-1.5B应用案例解析
  • 如何将照片合集制成二维码?图片生成二维码指南
  • 2026年深圳宝安区及大湾区跨境电商园区终极推荐指南:3大产业园深度解析与选择策略 - 品牌2026
  • 揭秘Docker容器网络日志难题:Cilium如何实现精准日志输出
  • vue大文件上传的示例代码与源码解析分享
  • 新手如何快速制作GIF?GIF制作指南
  • 一站式指南:盐雾腐蚀试验箱选购、品牌对比与厂家推荐 - 品牌推荐大师
  • 基于多技术栈融合的婚恋交友系统设计与实现——以LINK婚恋系统为例
  • Cilium监控日志无从下手?10个关键配置让你秒变专家
  • 大学生自学算法的好帮手:VibeThinker辅助理解DP与贪心
  • 如何借助在线制作gif动图?GIF在线制作攻略
  • 发票查验接口详细接收参数说明-C#语言集成完整示例-API高效财税管理方案
  • Top-k采样设置建议:保持确定性同时避免死循环
  • 2025年主流数据库PostgreSQL、MySQL、Oracle、MongoDB全景解析:技术选型与替代方案深度研究
  • 自动化测试脚本生成:基于自然语言描述转换为可执行代码
  • FastStone Capture注册码免费替代:用VibeThinker自动生成技术文档截图说明
  • Docker Compose网络配置十大最佳实践,第7条至关重要
  • 2026年,面向hr总监的hr saas前10品牌榜整理分享!