wc(world count)是一个统计文件字词,字节,行数的Linux命令,它能够帮咱们很是方便的统计以上信息。 |
主要参数linux
常见参数以下:chrome
咱们接下来直接看几个实例。编程
统计文件行数,词数和字节数google
$ wc test.txt 1 1 7 test.txt
打印结果代表该文件有1行,1个词,7字节。编码
要特别提醒的是,这里的词是以空格,换行符等分隔开的字符串,也就是说code
words 字词
这里只有两个词。进程
仅统计文件行数,词数,字符数或字节数字符串
仅统计单项内容时,仅须要带上对应的参数便可,例如:get
$ wc -l test.txt 1 test.txt
使用-l参数,使得只显示行数。table
可是这里特别要注意的是字符数和字节数的区别。字节数是数据占用的空间大小,而一个字符可能占多个字节,例如,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
相似这样的用法还有不少,只要你想统计均可以作。
这里再多说两句:
总结
wc命令可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候很是有效。