代码之家  ›  专栏  ›  技术社区  ›  jthg

可以直接搜索压缩文本文件的文本编辑器?(只在内存中解压缩它们)

  •  3
  • jthg  · 技术社区  · 15 年前

    我有20 GB(未压缩)日志文件。它们最初是压缩的(每个日志文件一个70kb.gz文件),总共大约700MB。我需要浏览和搜索它们来诊断一些问题。我不知道我到底在搜索什么,我可能需要快速浏览几千个点击量来搜索我尝试的任何搜索。

    我尝试通过解压缩所有文件,然后使用记事本++或Visual Studio搜索这些文件来完成此操作。问题是搜索速度非常慢,而且在硬盘上加载了大量的内容。我假设每次搜索都需要从磁盘读取全部20GB。

    如果有文本编辑器(或记事本+插件)的话,效果会更好。它可以在.gz文件中搜索而不将其解压缩到磁盘。700 MB的.gz文件可以很容易地放入系统缓存中,我假设解压缩内存中的每个文件要比从磁盘读取未压缩的文件快得多。

    我想我的另一个选择是一次只处理几个gig,这样所有的gig都有被缓存的机会,但这会非常不方便。谢谢你的建议。

    2 回复  |  直到 15 年前
        1
  •  3
  •   liori    15 年前

    zless 从 cygwin 应该能够做到这一点。

        2
  •  0
  •   Samuel Neff    15 年前

    结合 gunzip 和 grep 可以这样做:

    gunzip -c *.gz | grep "Search for something"
    

    此处提供的本机Windows版本:

    http://unxutils.sourceforge.net/