Linux 命令大全之 wc 命令详解:统计文件的字节数、字数与行数

发布时间:2026/10/3 2:13:32
Linux 命令大全之 wc 命令详解:统计文件的字节数、字数与行数 文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载本篇文章基于 linux-command 命令大全仓库中的 command/wc.md 文档展开全面讲解 Linux 核心文本统计工具wc的语法、选项、参数与实战用法。读完本文你将掌握如何快速统计文件的字节数、字符数、行数和单词数并能熟练组合管道、重定向与find/xargs处理批量文件的统计需求。wc 命令是什么wcword count是 Linux 下最常用的文本统计命令之一用于统计指定文件中的字节数、字数、行数并将统计结果显示输出。利用wc指令可以计算文件的 Byte 数、字数或是列数若不指定文件名称或是所给予的文件名为-则wc指令会从标准输入设备读取数据。当同时统计多个文件时wc还会在最末行给出所有文件的总统计数total行。在 linux-command 仓库中wc的文档位于 command/wc.md与仓库内其他 600 多个 Linux 命令文档如 tail.md、find.md、xargs.md共同构成完整的 Linux 命令速查手册这些 Markdown 文档通过 scripts/build.mjs 构建后渲染为可检索的 Web 页面对应模板见 template/details.ejs。语法格式wc命令的语法有三种常见形式wc(选项)(参数) wc [选项]... [文件]... wc [选项]... --files0-fromFwc [选项]... [文件]...最常用的形式可同时传入一个或多个文件。wc [选项]... --files0-fromF从文件F中读取以空字符NUL即\0分隔的文件名列表适用于文件名包含换行符等特殊字符的场景可配合find ... -print0使用。当文件名为-或完全省略文件参数时wc从标准输入读取数据。选项详解wc的常用选项如下-c # 统计字节数或--bytes显示 Bytes 数。 -l # 统计行数或--lines显示列数。 -m # 统计字符数或--chars显示字符数。 -w # 统计字数或--words显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 -L # 打印最长行的长度或--max-line-length。 --help # 显示帮助信息。 --version # 显示版本信息。各选项的核心作用可归纳为下表选项长选项含义-c--bytes统计字节数Bytes-l--lines统计行数-m--chars统计字符数-w--words统计单词数由空白、跳格或换行分隔的字符串视为一个单词-L--max-line-length输出所有行中最长行的长度—--help显示帮助信息—--version显示版本信息需要注意不加任何选项时wc默认依次输出行数、单词数、字节数三列数据。-c与-m的区别在于字符编码对于纯 ASCII 文本二者结果相同但遇到中文等多字节字符时-m按字符数统计而-c按字节数统计结果会明显不同。选项可以合并使用例如wc -lc同时统计行数和字节数。参数说明文件需要统计的文件列表可以是单个文件、多个文件、通配符匹配到的文件集合也可以是-表示标准输入。实战示例统计当前目录下所有文件的行数及总计wc -l * # 统计当前目录下的所有文件行数及总计行数。 wc -l *.js # 统计当前目录下的所有 .js 后缀的文件行数及总计行数。 find . * | xargs wc -l # 当前目录以及子目录的所有文件行数及总计行数。说明wc -l *会将当前目录下所有非隐藏文件依次统计并在末尾输出total总计行wc -l *.js借助 shell 通配符只匹配.js文件find . * | xargs wc -l通过管道把find找到的当前目录及子目录下的全部文件交给xargs再调用wc -l批量统计是递归统计行数的经典组合。查看文件的字节数、字数、行数wc test.txt # 输出结果 7 8 70 test.txt # 行数 单词数 字节数 文件名不指定选项时wc默认输出四列行数、单词数、字节数、文件名。上面的结果表示test.txt有 7 行、8 个单词、70 个字节。只打印统计数字不打印文件名wc -l test.txt # 输出结果 7使用输入重定向把文件内容作为标准输入传给wc此时输出中不再包含文件名只保留统计数字适合在脚本中直接赋值给变量使用。统计当前目录下的文件数不包含隐藏文件# 要去除TOTAL行 expr $(ls -l | wc -l) - 1 # 输出结果 8ls -l的输出第一行是total总容量行因此统计文件数时需要减去 1通过命令替换$(...)将wc -l的统计结果作为操作数传给expr做算术运算。需要注意ls -l输出中包含目录项本身此方法统计的是当前目录下可见条目含目录的数量。多文件统计的真实输出[rootcentos7 ~]# wc -l * 21 LICENSE 270 README.md wc: example: read: Is a directory 785 lerna-debug.log 25 lerna.json wc: node_modules: read: Is a directory 23603 package-lock.json 79 package.json 3 renovate.json 24786 total从输出可以看到每个文件单独占一行依次输出行数、文件名末尾的24786 total是所有文件行数之和当参数中包含目录如example、node_modules时wc会打印wc: xxx: read: Is a directory的报错信息并跳过该目录这解释了为什么用wc -l *统计目录行数时并不递归进入子目录——递归统计应改用前文find . * | xargs wc -l的组合方式。进阶用法与注意事项组合多个选项按需输出wc -lcw file.txt # 同时统计行数、字节数、单词数 wc -L file.txt # 查看文件中最长一行的长度常用于检测超长行与管道结合处理标准输入cat file.txt | wc -l # 统计文件行数 ps aux | wc -l # 统计当前进程数量 history | wc -l # 统计历史命令条数 grep error log.txt | wc -l # 统计日志中 error 出现的行数wc是管道链中最常用的“计数器”任何命令的输出都可以通过管道交给wc -l得到行数这是脚本编程中统计条目数量的标准做法。统计多个文件的字符数含中文场景wc -m 中文文件.txt # 按字符数统计 wc -c 中文文件.txt # 按字节数统计UTF-8 下中文每个占 3 字节对包含中文等多字节字符的文件-m与-c的结果差异明显应根据业务需求如字数统计 vs 带宽计算选择正确的选项。结合仓库继续深入学习wc命令是 Linux 文本处理的基石与之配合使用频率最高的命令包括 find查找文件、xargs批量传参、grep文本过滤和 tail查看文件尾部。linux-command 仓库中的每份命令文档都遵循补充说明 语法 选项 参数 实例的统一结构可直接查阅对应 Markdown 文件或通过仓库构建的 Web 站点搜索学习。小结wc命令虽小却是统计文件规模、校验数据、编写自动化脚本时不可或缺的工具。掌握-c、-l、-m、-w、-L五个核心选项理解多文件输出中的total行与目录报错行为并熟练运用标准输入重定向与管道组合即可覆盖日常绝大多数统计需求。更详细的命令选项说明与更多实例可随时查阅仓库文档 command/wc.md 及其构建生成的 Web 版本。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐GetQzonehistory 完整指南3步把QQ空间历史说说全部导出到Excel和图片GetQzonehistory 完整指南3步把QQ空间历史说说全部导出到Excel和图片 你翻QQ空间说说发现早期内容已被删除或不再显示在动态流里。GetQ网页爬虫数据分析wc 命令实战指南基于 tldr 阿拉伯语页面掌握行数、词数与字节统计wc 命令实战指南基于 tldr 阿拉伯语页面掌握行数、词数与字节统计 wc word count是 GNU coreutils 中最常用的文本统计工具之文档教程知识库深度解析Ray构建高性能分布式AI计算引擎的5大架构优势深度解析Ray构建高性能分布式AI计算引擎的5大架构优势 Ray是一个为AI和机器学习工作负载设计的开源分布式计算引擎它提供了统一的编程模型来简化分布式应用人工智能分布式训练强化学习任务调度模型推理服务后端上一篇智慧职教刷课脚本3分钟实现全自动学习告别手动刷课烦恼下一篇PySpark 测试断言实战assertDataFrameEqual 与 assertSchemaEqual 深入解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考