日志、配置、命令输出,本质上大量都是文本。线上排障时,真正消耗时间的往往不是“没有信息”,而是“信息太多,看不出重点”。这时候,grep、awk、sed 这类文本工具就会变成极高频的基本功。
它们并不神秘:grep 更像筛子,awk 更像结构化处理器,sed 更像流式编辑器。会不会用,直接决定了你能不能把海量文本快速收敛成可判断的证据。
排障很多时候不是缺数据,而是缺把文本迅速变成线索的能力。
为什么这一篇重要
如果不会处理文本,你面对日志和命令输出时就只能靠眼睛扫,速度慢且容易漏掉关键信息。
先把核心问题想清楚
grep擅长筛选和匹配关键内容。awk擅长按字段理解结构化文本。sed擅长基于流做替换、删除和提取。
实战里更该关注什么
- 先从过滤、计数、提字段这三类最常见操作练起。
- 面对日志时,多想想“我要筛的字段到底是什么”。
- 把常见文本处理组合成自己的命令模板,而不是每次临时搜索。
常见误区
- 遇到大日志只会用编辑器打开全文翻。
- 把正则和字段处理混在一起,导致命令又长又难维护。
- 觉得文本工具太老旧,不如图形界面方便。
一个值得自己做的小练习
拿一份访问日志,尝试分别用 grep 找 5xx,用 awk 提取状态码字段,用 sed 删除不关心的噪音行。
小结
文本处理工具之所以重要,不是因为语法花哨,而是因为它们能把排障过程从“靠感觉翻日志”变成“靠规则收敛信息”。