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

场景:CSV 列抽取与统计

快速对 CSV 做单列统计:cut/awk 抽列、sort 排序、uniq -c 计数、sort -rn 排行,30 秒拿到分布结论。

Linux 运维命令速查系统更新于 2026-10-12
场景CSV 单列分布 / TopN 统计
组合awk -F, + sort + uniq -c

列分布统计

列分布统计
head -1 sales.csv                          # 先确认列号
awk -F, 'NR>1 {print $3}' sales.csv | sort | uniq -c | sort -rn | head -20

数值汇总

数值汇总
awk -F, 'NR>1 {n++; s+=$5} END {printf "行数=%d 合计=%.2f 均值=%.2f\n", n, s, s/n}' sales.csv
字段里带英文逗号或引号的「真 CSV」不能用 -F, 硬切:用 python3 -c csv 模块或 csvkit/miller。

易错点

  • 列号以表头为准从 1 开始数,NR>1 跳过表头;漏掉会多统计一行
  • sort 之后再 uniq(uniq 只合并相邻行),顺序反了等于白做

数据来源与参考

  • man 1 awk(GNU gawk 手册)
  • RFC 4180(CSV 格式规范)

相关工具

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