V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lxy
V2EX  ›  问与答

想查询一个超大的文本文件内容

  •  
  •   lxy · 2015-12-13 14:11:30 +08:00 · 2228 次点击
    这是一个创建于 3267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    拿到一个文本文件,大小 20G 左右,虽然可以用 WinHex 查找,但是每次查不到一半就很卡(内存占用飙升),而且考虑到以后偶尔还会查询,所以想存入数据库。我打算用 Python 写个脚本批量导入 Mysql ,做索引,字段也不多。不知是否可行?或有其它更好的办法?
    PS. 笔记本只有 4G 内存。
    12 条回复    2015-12-13 17:47:44 +08:00
    gamexg
        1
    gamexg  
       2015-12-13 14:23:51 +08:00
    能说清楚查询的类型吗?
    数字、时间之类的能做索引,纯文本开头匹配也能做索引。
    但是要是纯文本内部包含关键字那你需要全文搜索。
    xufang
        2
    xufang  
       2015-12-13 14:29:08 +08:00
    呵呵,社工库,还是用 sqlserver 吧,傻瓜并且性能也够。
    uuspider
        3
    uuspider  
       2015-12-13 14:34:12 +08:00
    sed awk 应该可以胜任。
    lxy
        4
    lxy  
    OP
       2015-12-13 14:42:05 +08:00
    @gamexg
    @xufang 嗯,就是社工库的类型
    @uuspider 主要考虑在 Windows 环境下完成
    joshz
        5
    joshz  
       2015-12-13 15:04:56 +08:00
    @lxy 这几个工具都是跨平台的吧,也可以考虑 Cygwin ,当然性能会差些
    xufang
        6
    xufang  
       2015-12-13 15:07:59 +08:00 via Android
    @joshz cygwin 的 io 性能呵呵。真要用 sed 和 awk 别用 cygwin 或 msys 封装过的,应该用 gnuwun32 那一类的。
    xufang
        7
    xufang  
       2015-12-13 15:11:01 +08:00 via Android
    说个笑话,我厂不止一个人反应在 cygwin 编译比放在 linux 虚拟机下用 mingw 编译还要慢了。
    joshz
        8
    joshz  
       2015-12-13 15:13:39 +08:00
    @xufang 嗯,只是提供一种方案,直接移植的性能当然好很多。
    Valyrian
        9
    Valyrian  
       2015-12-13 16:17:47 +08:00
    难道不是 cat xxx.txt | grep xxx ?
    9
        10
    9  
       2015-12-13 16:30:25 +08:00
    @Valyrian cat + grep 典型的用法错误,要纠正过来啦。
    msg7086
        11
    msg7086  
       2015-12-13 16:46:16 +08:00
    @xufang msys2 性能很差吗?
    没比较过不过直觉上用 gcc 编译完以后应该也是原生性能吧?

    @Valyrian 比 grep xxx xxx.txt 好在哪里?
    Rubin
        12
    Rubin  
       2015-12-13 17:47:44 +08:00
    为什么不是先把这个 20G 的文本做切分呢,然后再 Python 写脚本处理不就简单多了么。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:49 · PVG 03:49 · LAX 11:49 · JFK 14:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.