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

说明:蓝色=命令名称

浅绿=命令参数

浅蓝=选项

紫色=目录

系统环境:CentOS  6.2  i686

一、行数统计方法

1、系统命令:wc -l filename

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

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

4、awk方法:awk 'END{print NR}' filename

二、效率测试

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

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

1、wc方法: time wc -l test

用时:0.234s  0.242s  0.237s

平均:0.237667s

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

用时:1.503s  1.340s  1.414s

平均:1.419000s

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

用时:2.268s  2.258s  2.344s

平均:2.290000s

4、awk方法:time awk 'END{print NR}' test

用时:1.637s  1.638s  1.649s

平均:1.641330s

总结

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

补充:wc用法

语法:wc [选项] 文件

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

该命令各选项含义如下:

  - c 统计字节数。

  - l 统计行数。

  - w 统计字数。

这些选项可以组合使用

(0)

相关推荐

  • Windows 下统计行数的命令?

    find中有个选项/c,意为不包含某字符串的行数,使用该选项可以统计文本的行数,例如: C:UsersNR>type test.txt | find /v /c "" 253 ...

  • Linux下的多线程编程和fork()函数详解

     一.fork()函数 在操作系统的基本概念中进程是程序的一次执行,且是拥有资源的最小单位和调度单位(在引入线程的操作系统中,线程是最小的调度单位).在Linux系统中 创建进程有两种方式:一是由操作 ...

  • Windows下统计行数的命令

    大家都知道在Linux下统计文本行数可以用wc -l 命令,例如: -bash-3.2$ cat pif_install.log | wc -l 712 但在Windows下如何统计输出文本的行数呢, ...

  • Linux中内存buffer和cache的区别详解

    细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法 ...

  • SUSE Linux Enterprise Server 11 SP1 安装教程图文详解

    一、说明: 操作系统:SUSE Linux Enterprise Server 11 SP1 下载地址:http://cdn.novell.com/prot/wGqu-GCcLaI~/SLES-11- ...

  • Linux多队列网卡的硬件的实现详解

    多队列网卡是一种技术,最初是用来解决网络IO QoS (quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将 ...

  • Linux系统中USB驱动程序的工作流程详解

    Linux系统中USB驱动程序的工作流程详解

  • Linux系统swap和zram swap的使用详解

    Linux系统下的swap和zram是两个扩大内存的技术,都可以在一定程度上提示系统的性能.当然swap和zram swap,一般情况下zram的使用比较多.下面就来介绍一下Linux系统swap和z ...

  • deepin 2014 U盘怎么安装? deepin 2014 U盘安装方法及注意事项详解

    deepin 2014 u盘安装教程来咯~下文将演示u盘安装deepin2014步骤,很多朋友想要使用u盘安装deepin却不知道方法,请参考下文步骤进行操作吧~ --注意事项 1、物理机直接顺利安装 ...