2011-04-10 91 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單獨得到更快(正如其他人已經指出的,你不需要貓)。

我個人發現「更多」和「更少」是有用的(對於較小的文件)。原因是有時候一個模式會讓你處在你想要的地方(即日期和時間)的附近,然後你可以在那一點滾動文件。

「/」是更多正則表達式的搜索命令。