Home

简单比较Linux命令中字符串查找的效率

透明的清水Posted 11/28/2011, 5:36:08 PM201492 views
有时候,我们要简单统计下一个文件中包含某个特殊字符串的行数。 我第一个想到的是grep + wc,不知道你想到了什么,不过,我们确实有多种方法。 假如我们的文件叫msg,里面有23380092行数据。 某些行是这样的receive: msg1 我们的任务是找出这些行的数量。 1. grep方法 grep ' msg1' msg | wc -l 使用这种方法耗时:1s 2. awk方法 awk 'BEGIN{c=1}{if($0 ~ / msg1/) c=c+1}END{print c}' msg 使用这种方法耗时:8s 3. 另一种awk方法 awk 'BEGIN{FS=":";c=0;}{if($2 == " msg1") c=c+1}END{print c}' msg 使用这种方法耗时:14s 4. 文件描述符打开文件遍历 Shell代码 #!/bin/bash count=0; exec 4
Participants

4 replies

文言子豪· 2/21/2012, 7:00:05 AM
{:22:}
xiaochai82· 3/30/2012, 4:59:53 PM
{:19:}
meiywm· 3/30/2012, 4:59:53 PM
{:18:}
冰儿/love· 4/12/2012, 4:00:07 PM
{:19:}{:16:}{:18:}
内容加载中