由于我还没有设置一些日志轮换解决方案,我有一个3GB(3800万行)的日志文件,我需要在某个日期找到一些信息 . 使用cat | grep速度非常慢,并且使用我当前的编辑器(大文本文件查看器)同样很慢,我想知道:是否有任何文本编辑器能够查看> 3500万行日志文件?我可以使用猫| grep解决方案让它一夜之间运行,但有数百万的错误需要排序,必须有更好的方法 .
您可能想尝试单独使用 grep :
grep
grep 2011-04-09 logfile.txt
而不是不必要地使用 cat :
cat
cat logfile.txt | grep 2011-04-09
处理大量数据时,这可能会有所不同 .
有趣的阅读是去年的Usenet帖子:why GNU grep is fast .
由于您使用的是Windows,因此您应该尝试 grep 的多个实现 . 并非 grep 的所有实现都是相同的 . 有一些真正可怕的实现 .
没有必要使用 cat :Grep可以直接从日志文件中读取,除非它被锁定以防止与读者共享 .
grep 模式日志文件 > tmpfile
> tmpfile
应该做的伎俩 . 然后,您可以使用大多数编辑器来检查所选记录,假设它具有很强的选择性 .
我不认为你会比单独的grep更快(正如其他人所说,你不需要猫) .
我个人认为“更多”和“更少”是有用的(对于较小的文件) . 原因是有时一个模式会让你在你想要的一般附近(即一个日期和时间),然后你可以在那一点滚动文件 .
“/”是更多正则表达式的搜索命令 .
3 回答
您可能想尝试单独使用
grep
:而不是不必要地使用
cat
:处理大量数据时,这可能会有所不同 .
有趣的阅读是去年的Usenet帖子:why GNU grep is fast .
由于您使用的是Windows,因此您应该尝试
grep
的多个实现 . 并非grep
的所有实现都是相同的 . 有一些真正可怕的实现 .没有必要使用
cat
:Grep可以直接从日志文件中读取,除非它被锁定以防止与读者共享 .grep
模式日志文件> tmpfile
应该做的伎俩 . 然后,您可以使用大多数编辑器来检查所选记录,假设它具有很强的选择性 .
我不认为你会比单独的grep更快(正如其他人所说,你不需要猫) .
我个人认为“更多”和“更少”是有用的(对于较小的文件) . 原因是有时一个模式会让你在你想要的一般附近(即一个日期和时间),然后你可以在那一点滚动文件 .
“/”是更多正则表达式的搜索命令 .