"Word Count" 的缩写,是一个用于统计文件或输入流中文本内容的行数、单词数、字节数的命令行工具。
该命令可以快速分析文本文件的基本信息,常用于日志分析、文档统计或脚本中判断文件内容规模,支持对单个文件、多个文件或通过管道传递的内容进行统计。
wc [选项] <文件1> <文件2> ...常用选项
-l:"lines",仅统计行数(即换行符数量),例如wc -l access.log统计日志文件的行数,适合判断日志条目数量。-w:"words",仅统计单词数(以空白字符分隔的连续字符序列),例如wc -w article.txt统计文章的单词数量,适合文本内容量估算。-c:"bytes",仅统计字节数(包括所有字符,含换行符、空格等),例如wc -c image.png统计文件的大小(字节级),等效于ls -l中的大小字段。-m:"characters",仅统计字符数(支持多字节字符,如中文、日文等),例如wc -m 中文文档.txt统计文档的字符总数,适合多语言文本统计。-L:"max line length",显示最长行的长度(以字符为单位),例如wc -L config.ini查看配置文件中最长行的字符数,便于检查格式问题。--help:显示帮助信息,列出所有选项及用法说明,例如wc --help可查阅详细参数解释。--version:显示命令版本信息,例如wc --version可查看当前wc工具的版本。
参考示例
示例1:统计单个文件的完整信息
执行
wc data.txt,输出35 128 960 data.txt,分别表示data.txt的行数(35)、单词数(128)、字节数(960),默认同时显示这三个指标。示例2:统计多个文件的行数并汇总
执行
wc -l *.log,统计当前目录下所有.log文件的行数,最后一行以总用量显示所有文件的行数总和,适合汇总多日志文件的条目数。示例3:统计命令输出的行数
执行
ps aux | wc -l,通过管道将ps aux输出的进程列表传递给wc,统计系统当前运行的进程总数(包括标题行)。示例4:检查文件是否为空
执行
if [ $(wc -l < empty.txt) -eq 0 ]; then echo "文件为空"; fi,通过wc -l统计文件行数,判断文件是否为空(<用于避免输出文件名)。示例5:统计多字节字符文档的字符数
执行
wc -m 小说.txt,输出15680 小说.txt,表示小说.txt包含 15680 个字符(支持中文等多字节字符),适合纯文本内容字数统计。示例6:查找文件中最长行的长度
执行
wc -L settings.conf,输出89 settings.conf,表示配置文件settings.conf中最长的一行包含 89 个字符,便于排查超长配置项问题。示例7:在脚本中统计符合条件的日志数量
执行
grep "ERROR" app.log | wc -l,先通过grep筛选包含 "ERROR" 的日志行,再用wc -l统计错误日志的数量,用于监控系统异常情况。示例8:统计目录下所有文件的总字节数
执行
wc -c *,统计当前目录下所有文件的字节数,最后一行汇总总字节数,效果类似du -b *但更简洁(不包含子目录递归统计)。
说明:
wc对“单词”的定义是“由空白字符分隔的连续字符序列”,因此标点符号可能被算作单词的一部分(如hello,world会被视为一个单词,hello, world则视为两个单词)。统计多字节字符时需确保系统编码正确,避免字符计数偏差。