2015-04-02 66 views
0

經過一些負載測試後,我有一個60 GB的日誌文件(測試停止,因爲此文件使用了所有可用的磁盤空間)。爲了能夠繼續使用服務器,我必須tar-gzip這個文件,但是現在我想查詢這個文件而不需要將它作爲一個整體解包。有沒有辦法使用linux命令行中提供的工具逐行讀取這個文件?閱讀巨大的tar.gz文件流類似的方式,逐行

+0

焦油不是comperssion格式;將單個文件集中到一個文件中,因此不會節省成本 - 只需在實際文件周圍添加'tar'頭文件。 – tripleee 2015-04-02 09:44:39

回答

0

測試在CentOS 6

zcat file.tar.gz | tar -x -O -f - 
0

其實,你可以簡單地在vim打開,操作.bz2或.GZ文件。

vim file.tar.bz2 

並在那裏做你的工作。

您可以使用bzcat甚至bzgrep來處理.bz2,與zcat或zgrep使用.gz相同。

但是,bzcat並沒有節省太多,因爲它實際上也會將文件解壓縮到標準輸出中。所以如果你想grep它,使用zgrep或bzgrep。

它可以很好地處理大文件。

bzgrep "pattern" file.tar.bz2 

bzcat file.tar.bz2 

測試在OSX 10.10

+3

當然,'vim'方法將整個文件解包並將其作爲臨時文件存儲,並使用額外的元數據使其大於原始文件。在目前的情況下,這可能不可取 – twalberg 2015-04-02 17:56:12