Python与sed,grep文本查找效率对比小测

Gnu awk作者在FreeBSD邮件列表中回答”GNU grep为什么比BSD grep要快“,提到了用到了Boyer-Moore算法,虽然不知道是什么,但感觉很厉害的样子~我猜想grep有多快呢?

所以想比较下下python,sed与grep:

测试文本:20w行,21M大

python普通正则匹配:

复制代码

代码如下:

#!/usr/bin/python3
import re
f=open('/tmp/test.txt')
for line in f:
match=re.findall('^This.*want',line)
if match != []:
print(match)

结果:

试下编译的正则试试:

复制代码

代码如下:

#!/usr/bin/python3
import re
f=open('/tmp/test.txt')
re_obj=re.compile('^This.*want')
for line in f:
match=re_obj.findall(line)
if match != []:
print(match)

结果快了1倍:

试试sed:

快了1个数量级!

最后试试grep:

果然grep是查找最专业的!

(0)

相关推荐

  • CentOS系统里如何提高文本搜索效率?

    CentOS系统里如何提高文本搜索效率? 对于系统管理员或程序员来说,当需要在复杂配置的目录中或者在大型源码树中搜寻特定的文本或模式时,grep类型的工具大概是最受欢迎的. 如果grep是你最喜欢的工 ...

  • Excel技巧之——文本查找函数FIND

    在日常工作中,经常需要在数据表中进行查找,例如查找"李"姓的员工,利用Excel提供的文本查找函数可以解决此类问题. 操作方法 01 find函数用于定位某一个字符(或字符串)在指 ...

  • iOS7在Safari网页中查找关键字的小技巧

    iOS7的Safari与旧版相比,界面和操作上都有很大不同。特别是直接在网页中搜索单词和查找关键字,在iOS7中轻微的改变也容易让人一头雾水。今天小编就向大家着重介绍在Safari网页中查找关键字的小 ...

  • 微信人脸相似度对比小程序介绍

    最近微信的小程序中推出了一个可以进行人脸相似度对比的小程序,下面小编就带大家一起来看看这个小程序.具体如下:1. 首先打开手机上的微信,进入微信首页后,点击页面下方的"发现".2. ...

  • Excel如何用FIND函数实现文本查找

    我们在使用Excel的过程中经常会发现,其实一个单元格内的内容就是死的,如何从一个单元格中找到特定位置所对应的数据呢?现在我们就来用FIND函数实现这个操作吧? 一.参数介绍: 01 函数形式: FI ...

  • Foxmail查找指定邮件小窍门

    Foxmail具有较强的邮件查找功能,它能在某个邮箱中查找出包含用户指定的信息的所有邮件,也可以在一个邮件中查找指定的文本。 选择好相应的邮箱,然后执行“编辑”菜单的“查找邮件”命令,打开“查找邮件” ...

  • WPS表格查找重复数据小技巧

    工作中统计数据时,有很多重复数据需要用心核对,特别是关系到个人利益的工资,奖金等.要一行一行细心对比,在这里与朋友们分享一下自己尝试操作小技巧. 操作方法 01 打开WPS表格工具软件,输入或者打开需 ...

  • win7系统下快速定位照片及快速查找文档小技巧

    据调查显示使用win7系统的用户相对较多,对于大多数人在使用的系统,大家对它了解多少呢?在这里,小编就与大家分享下如何在win7系统下快速定位照片及快速查找文档的小技巧,让大家对win7系统更加了解。 ...

  • 兵王效率提升小窍门

    游戏要的是什么?要的就是效率.效率就是你任务做得快,队伍是满的,钱包里银币是满的,好友里是人头济济的,效率这东西不是说你要什么就有什么,效率这东西,俺讲究的是比别人高效,比别人讲究的是事半功倍. 操作 ...