wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息。

主要参数

常见参数如下:

  • -c 统计字节数。

  • -l 统计行数。

  • -m 统计字符数。这个标志不能与 -c 标志一起使用。

  • -w 统计字数。注意,这里的字指的是由空格,换行符等分隔的字符串。

我们接下来直接看几个实例。

统计文件行数,词数和字节数

$ wc test.txt 1 1 7 test.txt

打印结果表明该文件有1行,1个词,7字节。

要特别提醒的是,这里的词是以空格,换行符等分隔开的字符串,也就是说

words 字词

这里只有两个词。

仅统计文件行数,词数,字符数或字节数

仅统计单项内容时,仅需要带上对应的参数即可,例如:

$ wc -l test.txt1 test.txt

使用-l参数,使得只显示行数。

但是这里特别要注意的是字符数和字节数的区别。字节数是数据占用的空间大小,而一个字符可能占多个字节,例如,UTF-8编码中,一个英文字母就是一个字符,占用空间一个字节,而一个中文,则占用3字节大小。
举个例子:

编程

编程,在这里是两个字符,而占用空间是6字节,但是使用wc -m统计会比两个多一个,是3个字符。

$ echo 编程|wc -m3$ echo 编程|wc -c7

各编码字符占用字符情况如下:

编码 英文字母 中文
UTF-8 1字节 3字节
Unicode 1字节 2字节

你可以使用:

$ echo $LANGen_GB.UTF-8

查看编码格式。

统计命令执行结果数量

实际上个人认为,最常用的还是-l参数,它用来统计文件或标准输出有多少行,那么实际上就可以用来做很多统计的事情了。
例如,统计当前目录下有多少个普通文件:

$ ls -ltotal 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 -l2

可以得到文件数量为2。grep "^-"的意思是,获取哪些以-开头的行,因为普通文件都是以-开头的。

当然如果想统计包括子目录的总文件数量,可以加上-R参数:

ls -lR |grep "^-"|wc -l

再例如,查看chrome相关进程数量:

$ ps -ef|grep google|grep -v grep |wc -l23

类似这样的用法还有很多,只要你想统计都可以做。

这里再多说两句:

  • |是管道符,ls -l|wc -l表示将ls -l的结果传给wc命令处理

  • grep用于文本查找,grep "a",表明查找包含a的行,而grep -v "b",表明过滤包含b的行。

总结

wc命令可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候非常有效。

推荐阅读:

如何查看linux中文件打开情况?

解放你的双手,一个命令帮你减负

关注公众号【编程珠玑】,获取更多Linux/C/C++/Python/Go/算法/工具等原创技术文章。后台免费获取经典电子书和视频资源。

linux 换行符_一个linux帮你做高效数据统计相关推荐

  1. linux 换行符_「linux」libevent demo详细分析(对比epoll)

    libevent默认情况下是单线程,每个线程有且仅有一个event_base,对应一个struct event_base结构体,以及赋予其上的事件管理器,用来安排托管给它的一系列的事件. 当有一个事件 ...

  2. Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点

    http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html LINUX的换行符在Windows记事本打开不换行或出现黑点 ...

  3. python怎么去掉换行符_如何在Python中删除尾部换行符?

    如何在Python中删除尾部换行符? 什么是Perl的chomp函数的Python等价物,如果它是换行符,它会删除字符串的最后一个字符? 26个解决方案 1473 votes 尝试方法lstrip() ...

  4. linux中grep与wc命令,Linux高效数据统计命令wc

    原标题:Linux高效数据统计命令wc 主要参数 常见参数如下: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.注意,这里的字指的是由空 ...

  5. linux open换行windows,python中遇到的Windows系统中换行符的一个坑

    在项目hex2bin( https://github.com/Root-lee/hex2bin ) 中,需要实现将一个txt文本中的十六进制码转换成相应的ascii码符号并写入一个.dat文件中,以用 ...

  6. VC6编辑直接采用Linux换行符,Tips: VC++篇

     VS2005 没有找到MSVCR80D.dll的完美解决方案 方法1. "工程属性->配置属性->清单工具->常规->FAT32解决办法",选" ...

  7. Linux换行符和Windows换行符的区别与转换

    不同系统文本文件的行尾换行符不同: Windows为一个回车'\r'(CR或^M)和一个换行'\n'(NL或LF)(括号内是其它显示方法) Linux为一个换行'\n' Mac为一个回车'\r' 查看 ...

  8. [shell] widows与Linux 换行符不同 导致字符串拼接错误

    场景: 在shell中读取配置文件,并将每一行增量赋值给变量,即进行字符串的拼接.之后对变量进行操作 问题描述 编写好脚本后,执行脚本,只能得到最后一行配置信息 config.cfg config1 ...

  9. linux换行符 r,\r \n 回车换行符详解

    \r \n 回车换行符详解 \r \n 回车换行符详解 \r \n 回车换行符详解1. \r \n 回车换行的含义1.1 \r 回车 1.2 \n 换行 2. \r \n 回车换行的历史2.1 \r ...

最新文章

  1. call_user_func用法
  2. php 计算一个字符串在另一个字符串中出现的次数
  3. 通过属性值从对象数组中获取JavaScript对象[重复]
  4. 教你在Linux下构建主、从域名服务器!
  5. 在 Linux 上创建一个加密文件保险库
  6. oracle 命令日志输出,ORACLE常用命令日志
  7. python3.5安装pip_win10上python3.5.2第三方库安装(运用pip)
  8. oracle死锁视频教程,两个Oracle死锁解决实例
  9. 在静态页面中使用Scss(windows)
  10. 升级更新:Oracle关于DB Link在2019年升级的10g版本兼容性
  11. linux ubuntu文件系统,Ubuntu Linux 文件系统的主要目录
  12. select2 清除已选项
  13. 考公 | 粉笔网课笔记——行测:3.资料分析
  14. 关于从IE8升级到IE11后,卸载不了IE11解决方法
  15. 【STM32学习】(28)STM32实现光照度采集(标准库和HAL库实现)
  16. javascript根据浏览器userAgent判断浏览器类型
  17. 企业网站如何进行外链建设
  18. 【黑马程序员pink老师前端】网页相关概念
  19. eeepc linux 软件管理,华硕EeePC 901下EEEbuntu 3.0完美优化教程
  20. 基于单片机仓库智能巡检车的设计

热门文章

  1. 使用ISA实现用户级验证(1~3篇)
  2. 数据的中心化和标准化
  3. .Net软件UI界面测试自动化--UIAutomation技术
  4. Spring使用@Required注解依赖检查
  5. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
  6. 规模估算失准 软件开发成空中楼阁
  7. linux mysql root登录_linux下 root 登录 MySQL 报错的问题
  8. uWSGI + Nginx + Django 部署
  9. php7-internal 7.7 zval的操作
  10. Mysql的键值对操作ELT FIELD