用wc -lm可准确统计含中文文档的行数和字符数,-m确保utf-8下中文计为单字符;非空行过滤需用grep -v '^[[:space:]]*$';验证需检查file -i编码、对比wc -m与wc -c差值,并手动抽检。

你需要在Mac终端里快速获取一个文本文档的准确行数和字符数,比如核对日志完整性、校验数据导入条目或检查脚本格式——wc命令一条就能同时输出,但选错参数会导致中文乱码或空行误算。
统计文件的行数和字符数(含中文)
打开终端,用cd命令进入文档所在目录,例如文档在桌面:cd ~/Desktop。
输入命令:wc -lm 文档.txt,按回车执行。
输出形如 1273 4892 文档.txt,左侧第一个数字是【行数】,第二个是【字符数(含中文、空格、换行符)】;-m选项确保UTF-8编码下的中文被正确计为单个字符,不是字节。
如果只想要纯数字不带文件名,改用:wc -lm 文档.txt | awk '{print $1, $2}'。
只看行数:排除空行干扰
方法一:统计所有逻辑行(含空行)
直接运行:wc -l 文档.txt。
方法二:仅统计非空行(跳过全空白行)grep -v '^[[:space:]]*$' 文档.txt | wc -l。
这一步会过滤掉纯空格、制表符或完全空的行,适合清洗后的数据校验。
注意:【grep -v '^$' 只能过滤空行,无法识别含空格的“假空行”,必须用 [[:space:]]*$ 才可靠】。
验证字符统计是否准确
第一步:确认文件编码为UTF-8
运行:file -I 文档.txt,查看输出中是否含 charset=utf-8。如果不是,-m 统计可能出错。
第二步:对比字符数与字节数差异
执行:wc -m 文档.txt 和 wc -c 文档.txt 并列比较。
若文档含中文,-c 值应明显大于 -m 值(例如 -c=15682,-m=5217),差值越大说明中文越多;若两者几乎相等,大概率是ASCII编码或文件损坏。
第三步:手动抽检一行字符数
用 head -n1 文档.txt | wc -m 提取首行并统计其字符数,再用文本编辑器打开该行逐字核对,验证 -m 是否真实反映可视字符数量。











