Linux统计行数方法及效率测试
2013-10-28 17:13
337 查看
转自:http://www.linuxidc.com/Linux/2012-06/63680.htm
说明:蓝色=命令名称
浅绿=命令参数
浅蓝=选项
紫色=目录
系统环境:CentOS 6.2 i686
一、行数统计方法
1、系统命令:wc -l
filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/7e42c2896f5852f8a8a3629fcc6eb28f.png)
2、grep方法:grep -c"" filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/3cf85b1b5fe18b15adda6c0a1f15efca.png)
3、sed方法:sed -n '$='
filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/bd167b917bc2f38a90f0832e69606cd2.png)
4、awk方法:awk 'END{print NR}'filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/ee15b77eb22b7cf379d4fa607188f4db.png)
二、效率测试
生成测试所需文件:awk 'BEGIN{for(i=0;i<10000000;i++)print i}'>>test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/4e0c950278faffcb2081470bb39d6308.png)
说明:用上文中介绍的方法分别对test文件进行三测测试统并统计时间,最后取平均值进行比较
1、wc方法: time wc -l test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/3248cf1cdcf5744660f9595d0a79960f.png)
用时:0.234s 0.242s 0.237s
平均:0.237667s
2、grep方法:time grep -c"" test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/200eb38b02fe0435e739b416e368e5e8.png)
用时:1.503s 1.340s 1.414s
平均:1.419000s
3、sed方法:time sed -n '$=' test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/dc668c63ecce5bf676b4da2e2e3d66bc.png)
用时:2.268s 2.258s 2.344s
平均:2.290000s
4、awk方法:time awk 'END{print NR}' test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/a31c27b24840c84439ecda113e5e8654.png)
用时:1.637s 1.638s 1.649s
平均:1.641330s
总结:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/f5f6c18852b03f306c48a8b6fc651558.png)
wc的效率远高于其他方法,具体效率:wc>grep>awk>sed
补充:wc用法
语法:wc [选项] 文件
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用
分界线
=============================================================================================================================
亲测,如果test.csv 文件很大,命令A速度远快于命令B !
说明:蓝色=命令名称
浅绿=命令参数
浅蓝=选项
紫色=目录
系统环境:CentOS 6.2 i686
一、行数统计方法
1、系统命令:wc -l
filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/7e42c2896f5852f8a8a3629fcc6eb28f.png)
2、grep方法:grep -c"" filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/3cf85b1b5fe18b15adda6c0a1f15efca.png)
3、sed方法:sed -n '$='
filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/bd167b917bc2f38a90f0832e69606cd2.png)
4、awk方法:awk 'END{print NR}'filename
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/ee15b77eb22b7cf379d4fa607188f4db.png)
二、效率测试
生成测试所需文件:awk 'BEGIN{for(i=0;i<10000000;i++)print i}'>>test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/4e0c950278faffcb2081470bb39d6308.png)
说明:用上文中介绍的方法分别对test文件进行三测测试统并统计时间,最后取平均值进行比较
1、wc方法: time wc -l test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/3248cf1cdcf5744660f9595d0a79960f.png)
用时:0.234s 0.242s 0.237s
平均:0.237667s
2、grep方法:time grep -c"" test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/200eb38b02fe0435e739b416e368e5e8.png)
用时:1.503s 1.340s 1.414s
平均:1.419000s
3、sed方法:time sed -n '$=' test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/dc668c63ecce5bf676b4da2e2e3d66bc.png)
用时:2.268s 2.258s 2.344s
平均:2.290000s
4、awk方法:time awk 'END{print NR}' test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/a31c27b24840c84439ecda113e5e8654.png)
用时:1.637s 1.638s 1.649s
平均:1.641330s
总结:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201310/f5f6c18852b03f306c48a8b6fc651558.png)
wc的效率远高于其他方法,具体效率:wc>grep>awk>sed
补充:wc用法
语法:wc [选项] 文件
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用
分界线
=============================================================================================================================
#命令A grep -c "aaa.*bbb" test.csv
#命令B grep aaa test.csv | grep bbb| wc -l
亲测,如果test.csv 文件很大,命令A速度远快于命令B !
相关文章推荐
- linux统计行数方法及效率测试
- JavaScript数组去重的几种方法效率测试
- SQL执行效率和性能测试方法总结
- PHP类中Static方法效率测试代码
- 几种读大文件方法的效率对比测试
- 效率测试方法
- 提高软件测试效率的方法探讨
- SQL执行效率和性能测试方法
- 几种读大文件方法的效率对比测试
- PHP类中Static方法效率测试
- JavaScript数组去重的几种方法效率测试
- 测试 java Map 所有遍历方法的效率
- 一种可用来测试算法效率的足够精确的计时方法【转】
- 关于BitmapData画图方法效率的测试和对比
- 解析js原生方法创建表格效率测试
- C++几种内存分配方法的效率测试与比较
- double在输出为字符串的几种方法效率测试
- js原生方法创建表格效率测试
- 基于变更的测试 - 提高测试效率和软件质量的最佳方法