Python与sed,grep文本查找效率对比小测 |
本文标签: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: 最后试试grep: 果然grep是查找最专业的! |