首页/系统/Linux 运维命令速查/awk 按字段统计日志
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

awk 按字段统计日志

日志分析进阶:awk 提取列、计数、聚合、求 Top;Nginx 访问日志、认证失败统计的常用一行流。

Linux 运维命令速查系统更新于 2026-10-12
用途按字段解析/统计日志
语法awk '条件/动作' 文件
所属gawk(GNU awk)

统计 Top IP

统计 Top IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -n 10

认证失败统计

认证失败统计
grep 'Failed password' /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head

按小时聚合

按小时聚合
awk -F'[: ]' '{print $4":"$5}' access.log | uniq -c | head -n 24
awk 里的 $(NF-3) 等表达式依赖具体日志格式,动手前先 head 几行确认列位置。

易错点

  • Nginx combined 格式 IP 在第 1 列、状态码在第 9 列——不同 log_format 列号会变,先核对
  • secure 日志的 IP 位置随 sshd 版本微调,用 $(NF-3) 相对定位并在样本上验证

数据来源与参考

  • man 1 gawk(GNU awk)
  • GNU awk 手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌