Log-Files

如何使用大型日誌文件減少搜尋速度?

  • January 17, 2017

我經常處理非常大的日誌文件(>3 GB)。我注意到這些文件的 less 性能很糟糕。通常我想跳到文件的中間,但是當我告訴更少向前跳 15 M 行時,它需要幾分鐘..

我想像的問題是掃描文件中的“\n”字元的需求較少,但這需要太長時間。

有沒有辦法讓它只尋找一個明確的偏移量?例如,在文件中尋找字節偏移 15 億。此操作應該快幾個數量級。如果 less 沒有提供這樣的能力,還有其他工具可以提供嗎?

你可以少這樣計算行數less -n

要跳轉到一個特定的地方,比如說 50%,less -n +50p /some/log這對我來說是即時的 1.5GB 日誌文件。

編輯:對於特定的字節偏移:less -n +500000000P ./blah.log

作為一個尋呼機,Less 本質上是面向行的。當你啟動時,如果它是一個大文件,它會說“計算行號”,然後你按 ESC 停止它,否則它會顯示行。這就是它的作用。

如果你想直接跳到文件中間跳過開頭,你總是可以從開頭尋找;我會做類似的事情tail -c +15000000 /some/log | less

引用自:https://serverfault.com/questions/411280