欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux统计行数方法及效率测试详解

程序员文章站 2022-04-03 20:19:29
今天小编为大家带来的是Linux统计行数方法及效率测试详解!希望对大家会有帮助!有需要的朋友一起去看看吧... 17-03-24...

说明:蓝色=命令名称

      浅绿=命令参数

      浅蓝=选项

      紫色=目录

      系统环境:centos  6.2  i686

一、行数统计方法

1、系统命令:wc -l filename

Linux统计行数方法及效率测试详解

2、grep方法:grep -c "" filename

Linux统计行数方法及效率测试详解

3、sed方法:sed -n '$=' filename

Linux统计行数方法及效率测试详解

4、awk方法:awk 'end{print nr}' filename

Linux统计行数方法及效率测试详解

二、效率测试

生成测试所需文件:awk 'begin{for(i=0;i<10000000;i++)print i}'>>test

Linux统计行数方法及效率测试详解

说明:用上文中介绍的方法分别对test文件进行三测测试统并统计时间,最后取平均值进行比较

1、wc方法: time wc -l test

Linux统计行数方法及效率测试详解

用时:0.234s  0.242s  0.237s

平均:0.237667s

2、grep方法:time grep -c "" test

Linux统计行数方法及效率测试详解

用时:1.503s  1.340s  1.414s

平均:1.419000s

3、sed方法:time sed -n '$=' test

Linux统计行数方法及效率测试详解

用时:2.268s  2.258s  2.344s

平均:2.290000s

4、awk方法:time awk 'end{print nr}' test

Linux统计行数方法及效率测试详解

用时:1.637s  1.638s  1.649s

平均:1.641330s

总结

Linux统计行数方法及效率测试详解

wc的效率远高于其他方法,具体效率:wc>grep>awk>sed

补充:wc用法

语法:wc [选项] 文件

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

  - c 统计字节数。

  - l 统计行数。

  - w 统计字数。

这些选项可以组合使用