200字
wc
2025-10-10
2025-10-10

"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 则视为两个单词)。统计多字节字符时需确保系统编码正确,避免字符计数偏差。

评论