題 在Mac上打開海量文件?


我想在我的Mac上打開一個龐大的文本文件。該文件剛剛超過10Gigs。 我不會深入了解它的創建方式或使用方式,因為它與問題無關。

是否有任何mac程序可以讓我打開如此龐大的文件,或者可能將其分解成塊(比如每個200mb或更多),這樣可以更容易單獨打開。

我不一定需要編輯它,只需查看它的一部分。我嘗試的所有東西,Textmate,Vim等都是(可以理解)廢話或永遠加載。

我也運行Windows和Linux,但移動這麼大的文件並不容易。它目前駐留在我的Mac上,我寧願沒有移動它的麻煩。


14
2017-08-28 15:57


起源


相近 superuser.com/questions/138474/... ,但這個問題也接受了拆分文件的替代方案 - Doug Harris


答案:


拆分可以做到 -

 split -b 200m [file]

將文件拆分為200MB塊。您可以使用-l拆分行

 split -l 1000 [file]

將文件拆分為1000行塊。

如果這不起作用,Mac有一個非常好的十六進制編輯器, Hex Fiend 這可以打開大量文件:

使用大文件。 Hex Fiend可以處理你能夠創建的大文件。它已經在大到118 GB的文件上進行了測試。

希望有所幫助!


16
2017-08-28 16:52



這就像一個魅力。謝謝 - Chris Salij
它是Unix,所以它必須工作。 :) - maaartinus
Hex Friend真棒!非常感謝提及 - lukaswelte


您是否嘗試過以下任何命令行工具:

  • sed 要么 awk:流編輯,但是 這些有時可能需要復雜 用於獲得所需輸出的表達式
  • split:將文件拆分為給定字節數,行數等的塊。
  • csplit:根據正則表達式給出的上下文拆分文件

之一 split 要么 csplit 可能會完成這項工作,具體取決於他們如何管理內存使用。看看這個頁面 更多信息 split 和 csplit 

有關這些工具的更多信息,請嘗試您喜歡的搜索引擎,或輸入 man <cmd-name> 在終端的命令行。

如果您可以提供有關如何拆分文件的更多上下文,我相信具有sed / awk或正則表達式專業知識的人可以提供幫助。


3
2017-08-28 16:34





我建議退房 HexFiend  - 同時也是一個十六進制編輯器,它確實直接從硬盤驅動器讀取文件,並不像大多數其他文本編輯器那樣嘗試將其加載到內存中。如果要隱藏十六進制部分,請從“視圖”菜單中取消選中“十六進制”。


2
2017-08-28 18:05





另一種選擇是使用內置命令  和 尾巴

要獲得前1000行:

head -1000 hugefile

要獲得最後1000行:

tail -1000 hugefile

或者獲得1,000,000到1,001,000的行:

head -1001000 hugefile | tail -1000

這可能需要相當多的時間。


2
2017-08-28 18:29



我喜歡這個選項。如果我只想一次拿幾個塊。它現在不適合我的目的,但我將來會擅自使用它:)謝謝 - Chris Salij


我需要我的工作來查看大量的文本文件,並且一直在尋找所有替代品的年份,儘管只在Windows上。

我發現的唯一可以真正有效處理大文件的文本編輯器是 V - 文件查看器

雖然商業價格為20美元,但如果您需要經常編輯此類文件,這是值得的。
如果您只需要查看一個特定文件,它就有一個功能齊全的試用版。

通過網絡將10 GB傳輸到Windows機器不應該是無法忍受的慢速。


0
2017-08-28 18:17