Linux 文本三剑客 grep awk sed 实战
【摘要】 本文介绍 Linux 文本处理工具 grep、awk、sed 的核心用法与高频实战场景,帮助开发者高效过滤与清洗日志数据。
前言
在 Linux 日志排查和数据清洗中,grep、sed 和 awk 被誉为“文本三剑客”。熟练掌握这三个工具,能够极大提升我们在华为云 ECS 上处理运维故障的效率。
1. grep:精准过滤
grep 擅长按行查找包含特定模式的文本。配合正则与上下文参数,能快速定位错误日志。
# 在华为云应用日志中查找 500 错误,并显示前后 2 行上下文
grep -C 2 "HTTP/1.1\" 500" /var/log/nginx/access.log
2. sed:流式编辑与替换
sed 是非交互式流编辑器,常用于文本的增删改查。最常用的是原地替换功能。
# 将配置文件中的旧 IP 替换为华为云内网新 IP
sed -i 's/192.168.1.100/10.0.0.5/g' /etc/app.conf
3. awk:按列分析与统计
awk 是强大的文本分析工具,默认以空格分隔字段。适合对结构化日志(如 Nginx 访问日志)进行统计。
# 统计访问量最高的前 5 个 IP 地址
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 5
结语
建议将三者组合使用——用 grep 初筛、sed 清洗格式、awk 聚合统计,形成高效的命令行数据流水线。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)