Linux 中如何打開一個大文本文件
完成後,輸入 「:q」 退出 VIM。
這個插件將會被安裝在 ~/.vim/plugin/LargeFile.vim 下。現在可以像平常一樣使用 VIM 了。
當在 VIM 中裝載一個「大」文件的時候,這個插件起的作用就是關掉事件、回退、語法高亮等功能。默認情況下大於 100MB 的文件就會被插件認為是「大文件」。要改變也個默認設置,你可以編輯 ~/.vimrc 文件(如果不存在就創建一個)。
如要把大文件的標準最小定為 10MB 的話,可以在 ~/.vimrc 中添加
let g_LargeFile=10
雖然 LargeFile 可以加速文件裝載的速度,但 VIM 自身對編輯相當大的文件支持不太好,因為它會一下子把整個文件都載入進內存。例如,用 VIM 裝載 1G 大小的文件,它就會佔很多內存和交換空間,如下圖所示的頂部輸出。
所以如果你的文件明顯大於你 Linux 系統的物理內存的話,就要考慮其它的選擇,如下所述。
glogg 日誌資源管理器
如果你只需要查看一個文本文件,並不對它做編輯,可以考慮下 glogg。它是一款基於圖形用戶界面的獨立日誌分析器。這個 glogg 分析器支持通過正則表達式和通配符來對要打開的文本文件進行過濾和篩選,使用戶只看到其真正關注的內容。
在 Debian (Wheezy 版本或更高版本)、Ubuntu 或 Linux Mint 系統中安裝 glogg :
$ sudo apt-get install glogg
在 Fedora (17 版本或更高版本) 系統中安裝 glogg :
$ sudo yum install glogg
用 glogg 打開文本文件 :
$ glogg test.log
glogg 能很快的打開一個大文本文件。我花了大約 12 秒就打開了一個 1G 的日誌文件。
在 "Text" 區域,你可以輸入正則表達式,然後點擊 "Search" 按紐,它支持表達式大小寫敏感搜索以及自動刷新功能。搜索後,在窗體底部會顯示出篩選的結果內容。
從裝載文件來跟 VIM 對比, glogg 顯得更輕量級,在載入完一個 1G 的日誌文件後,它僅僅只使用了 83M 的物理內存。
JOE 文體編輯器
JOE 是GPL下發布的一個輕量級的基於終端的文本編輯器。JOE 是一款少有的支持大文件的文本編輯器,可以打開和編輯比物理內存大的文件。
此外,JOE支持各種功能強大的文本編輯功能,如非破壞性編輯,用正則表達式搜索和替換,無限次的撤銷/重做,語法高亮等。
在 Debian、Ubuntu 或 Linux Mint 系統中安裝 JOE:
$ sudo apt-get install joe
在 Fedora、CentOS 或 RHEL 系統中安裝 JOE:
$ sudo yum install joe
要打開編輯文本文件,請運行:
$ joe test.log
相比上面提到的 glogg 來說,用 JOE 載入一個大文本文件會有點卡,載入一個 1G 的文件要用將近 30 秒的時間,不過考慮到要對文件進行全文編輯,這還能忍受。一旦文件載入完成,就可以在相當快捷的終端模式中編輯此文件。
JOE的內存消耗令人印象深刻。載入並編輯一個1GB的文本文件,只花費47MB的物理內存。
如果你還知道在 Linux 中打開/編輯大文本文件的其它方法的話,請跟我們分享!
via: http://xmodulo.com/2013/12/open-large-text-file-linux.html
譯者:runningwater 校對:jasminepeng
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive