2011-04-10 88 views
1

由于我还没有设置一些日志旋转解决方案,我有一个3GB(3800万行)日志文件,我需要从某个日期查找某些信息。正如使用cat | grep非常慢,使用我当前的编辑器(大文本文件查看器)同样很慢,我想知道:是否有任何文本编辑器可以很好地查看> 3500万行日志文件?我可以使用猫| grep解决方案,并让它在一夜之间运行,但有数百万个错误需要排序,必须有更好的方法。查看巨型日志文件的文本编辑器

+0

你不可能找到比grep快得多的解决方案,但你不需要猫。 – 2011-04-10 04:23:07

+0

我同意grep。也是Windows的vim。 – 2011-04-10 04:46:17

回答

1

您可能希望通过自身使用grep尝试:

grep 2011-04-09 logfile.txt 

,而不是无谓地使用cat的:

cat logfile.txt | grep 2011-04-09 

当大量的数据处理,这样可以有所作为。

有趣的阅读是来自去年的Usenet发布:why GNU grep is fast

+0

谢谢,在cygwin下使用grep非常快。 – Eli 2011-04-10 04:46:45

0

既然你是在Windows上,你应该真的尝试grep的多种实现。并非所有grep的实现都是相同的。有一些真正糟糕的实现。

没有必要使用cat:grep可以直接从日志文件中读取,除非它被锁定为不与读者共享。

        grep模式日志文件> tmpfile

应该做的伎俩。然后,您可以使用大多数编辑器检查选定的记录,假设它非常有选择性。

0

我不认为你会比grep单独得到更快(正如其他人已经指出的,你不需要猫)。

我个人发现“更多”和“更少”是有用的(对于较小的文件)。原因是有时候一个模式会让你处在你想要的地方(即日期和时间)的附近,然后你可以在那一点滚动文件。

“/”是更多正则表达式的搜索命令。