wc命令——Linux系统高效数据统计工具
wc(world count)是一个统计文件字词,字节,行数的Linux命令,它可以帮我们非常方便的统计以上信息。 |
主要参数
常见参数如下:
- -c 统计字节数。
- -l 统计行数。
- -m 统计字符数。这个标志不能与 -c 标志一起使用。
- -w 统计字数。注意,这里的字指的是由空格,换行符等分隔的字符串。
我们接下来直接看几个实例。
统计文件行数,词数和字节数
$ wc test.txt
1 1 7 test.txt
打印结果表明该文件有1行,1个词,7字节。
要特别提醒的是,这里的词是以空格,换行符等分隔开的字符串,也就是说
words 字词
这里只有两个词。
仅统计文件行数,词数,字符数或字节数
仅统计单项内容时,仅需要带上对应的参数即可,例如:
$ wc -l test.txt
1 test.txt
使用-l参数,使得只显示行数。
但是这里特别要注意的是字符数和字节数的区别。字节数是数据占用的空间大小,而一个字符可能占多个字节,例如,UTF-8编码中,一个英文字母就是一个字符,占用空间一个字节,而一个中文,则占用3字节大小。
举个例子:
编程
编程,在这里是两个字符,而占用空间是6字节,但是使用wc -m统计会比两个多一个,是3个字符。
$ echo 编程|wc -m
3
$ echo 编程|wc -c
7
各编码字符占用字符情况如下:
编码 | 英文字母 | 中文 |
---|---|---|
UTF-8 | 1字节 | 3字节 |
Unicode | 1字节 | 2字节 |
你可以使用:
$ echo $LANG
en_GB.UTF-8
查看编码格式。
统计命令执行结果数量
实际上个人认为,最常用的还是-l参数,它用来统计文件或标准输出有多少行,那么实际上就可以用来做很多统计的事情了。
例如,统计当前目录下有多少个普通文件:
$ ls -l
total 4
-rw-rw-r-- 1 hyb hyb 0 3月 21 20:32 test2.txt
-rw-rw-r-- 1 hyb hyb 13 3月 21 20:18 test.txt
$ ls -l |grep "^-"|wc -l
2
可以得到文件数量为2。grep "^-"的意思是,获取哪些以-开头的行,因为普通文件都是以-开头的。
当然如果想统计包括子目录的总文件数量,可以加上-R参数:
ls -lR |grep "^-"|wc -l
再例如,查看chrome相关进程数量:
$ ps -ef|grep google|grep -v grep |wc -l
23
类似这样的用法还有很多,只要你想统计都可以做。
这里再多说两句:
- |是管道符,ls -l|wc -l表示将ls -l的结果传给wc命令处理
- grep用于文本查找,grep "a",表明查找包含a的行,而grep -v "b",表明过滤包含b的行。
总结
wc命令可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候非常有效。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~