zoukankan      html  css  js  c++  java
  • Linux高效数据统计命令wc

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

  • 相关阅读:
    IDEA 远程调试springboot
    Mybatitas-plus实现逻辑删除
    java通过poi导出excel
    js 展示当前时间
    Linux环境下服务自启
    Spring自带定时器@Scheduled
    Quartz任务调度框架相关方法、参数理解
    Quartz 实现定时任务
    mysql 使用union(all) + order by 导致排序失效
    mongodb的查询操作
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/10741354.html
Copyright © 2011-2022 走看看