• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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是查找最专业的!
    上一篇:Linux目录树:根目录、典型目录等详细说明
    下一篇:安装 unixbench make: *** [pgms/ubgears] Error 1 的解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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