最直接的方法是用 wc 命令统计行数和字数:wc -l 统计换行符数量即行数,wc -w 统计空白分隔的单词数;不加参数则输出行数、字数、字节数和文件名;中文字符数需用 wc -m。

最直接的方法是用 wc 命令,它专为这类统计设计,一行命令就能同时或分别获取行数和字数。
用 wc -l 和 wc -w 分别统计
wc -l 统计换行符数量,即逻辑行数;wc -w 统计由空格、制表符或换行符分隔的“单词”个数。两者互不干扰,可独立使用:
- 查行数:
wc -l filename.txt→ 输出如42 filename.txt - 查字数:
wc -w filename.txt→ 输出如186 filename.txt - 只取数字(适合脚本):
wc -l filename.txt | awk '{print $1}'
一次命令获取行数和字数
不加参数直接运行 wc filename.txt,会按“行数、字数、字节数、文件名”顺序输出一行结果。例如:
57 234 1482 document.md 表示:57 行、234 个单词、1482 字节。
若只想看行数和字数(去掉字节数和文件名),可用 awk 提取:wc filename.txt | awk '{print $1, $2}'。
注意字数的定义
Linux 中“字数”指以空白字符(空格、Tab、换行)分隔的字符串单元,不是中文语义上的“字”。例如:
-
hello world算 2 个字 -
你好世界(无空格)算 1 个字,因为没被空白分隔 - 想统计中文字符数,应改用
wc -m(字符数),它对 UTF-8 编码友好
多文件或管道输入也适用
支持批量处理:
- 多个文件:
wc -l *.log→ 各自行数 + 最后一行总计 - 配合其他命令:
grep "error" app.log | wc -w→ 先筛选再统计字数 - 从标准输入读取:
cat file.txt | wc -l效果等同于wc -l file.txt


















