加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux高效数据统计命令wc

发布时间:2020-12-14 01:33:39 所属栏目:Linux 来源:网络整理
导读:wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息。 主要参数 常见参数如下: -c 统计字节数。 -l 统计行数。 -m 统计字符数。这个标志不能与 -c 标志一起使用。 -w 统计字数。注意,这里的字指的是由空格,换行符
wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息。
主要参数

常见参数如下:

  • -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命令可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候非常有效。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读