首页/系统/Linux 运维命令速查/wc 统计行数/词数/字节
文本处理77 条

wc 统计行数/词数/字节

统计文件的行、词、字符与最长行;代码量、日志规模、管道计数的高频工具。

Linux 运维命令速查系统更新于 2026-10-13

wc 是什么

wc 统计文件的行数、词数、字节数与最长行长度。它在两类场景里最有用:一是量规模,例如日志多大、代码多少行;二是做管道计数,统计满足条件的记录有多少条。理解它的计数口径很重要——行数数的是换行符个数,与编辑器显示的行数可能相差一行。

基本信息

适用平台Linux、Unix 通用(coreutils)
命令语法wc [选项] [文件...]
常用选项-l 行数 / -w 词数 / -c 字节数 / -m 字符数 / -L 最长行长度
口径差异-c 按字节,-m 按字符,多字节文本两者差别很大

典型使用场景

  • 统计日志行数,估算处理耗时
  • 统计有效配置行数:先过滤注释再计数
  • 管道里统计符合条件的记录条数
  • 检查文件末尾是否缺少换行符
  • 找出最长的一行,判断是否需要调整格式

常用示例

常用示例
wc -l access.log
wc -lw access.log              # 行数与词数
grep -v '^#' app.conf | wc -l  # 统计有效配置行
tail -n +2 data.csv | wc -l    # 去掉表头后的行数
wc -m cn.txt; wc -c cn.txt     # 中文字符数与字节数对比
wc -L app.log                  # 最长行长度

选项说明

选项统计对象提示
-l换行符个数末行没有换行时不计入
-w以空白分隔的词数标点会被算进词里
-c字节数结果与编码有关
-m字符数多字节字符按一个字符计
-L最长行长度制表符按固定宽度展开计算
行数数的是换行符。文件最后一行没有换行符时不会被计入,与编辑器显示的行数可能相差一行,做严格比对时要留意。
字节数与字符数在纯英文文本上结果相同,中文文本里差别会非常大;判断编码与体积时别把两者混用。
多文件时输出列的顺序随选项变化,固定列数再跟文件名。脚本里解析最好把选项写全,或干脆只对单个文件统计,免得列位置错位。

易错点

  • 把统计出的行数当成实际行数,忽略末行缺少换行符的情况
  • 混用字节与字符统计,中文文本里得出相差数倍的结果
  • 对二进制文件做行数统计没有意义,先判断类型
  • 管道中上游命令失败时仍会输出 0,脚本里要检查上一条命令的退出码
  • 多文件时输出会带文件名列,脚本解析前先固定输入来源

数据来源与参考

  • man 1 wc(GNU coreutils 手册)

相关工具

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