在Mac上打开海量文件?


14

我想在Mac上打开一个庞大的文本文件。该文件刚刚超过10Gigs。我不会讨论它是如何创建的或用途是什么,因为它与问题无关。

是否有任何Mac程序可以让我打开如此大的文件,或者将其分解为大块的文件(例如200mb左右),这将更容易单独打开。

我不必编辑它,只需查看它的一部分即可。我尝试过的所有内容,Textmate,Vim等(都可以理解)全部废除或永久加载。

我也运行Windows和Linux,但是要移动这么大的文件并不容易。它当前驻留在我的Mac上,我不想搬它。


superuser.com/questions/138474/…类似,但此问题也接受拆分文件的替代方法
Doug Harris,2010年

Answers:


16

拆分可以做到-

 split -b 200m [file]

将文件拆分为200MB的块。您可以使用-l分割行

 split -l 1000 [file]

将文件分成1000个行块。

如果那不起作用,那么有一个非常好的Mac十六进制编辑器Hex Fiend可以打开大量文件:

处理大文件。Hex Fiend可以处理您能够创建的最大文件。已对高达118 GB的文件进行了测试。

希望有帮助!


它是Unix,因此必须能够正常工作。:)
maaartinus 2011年

1
十六进制朋友真棒!非常感谢您的提及
lukaswelte 2014年

3

您是否尝试过以下任何命令行工具:

  • sedawk:流编辑器,但有时它们可​​能需要复杂的表达式才能获得所需的输出
  • split:将文件拆分为给定数量的字节,行等的块。
  • csplit:根据正则表达式给出的上下文拆分文件

一项splitcsplit可能完成这项工作,具体取决于他们如何管理内存使用。请查看此页面以获取有关split和的更多信息csplit

有关这些工具的更多信息,请尝试使用您喜欢的搜索引擎,或man <cmd-name>在终端中的命令行中键入。

如果您可以提供有关如何分割文件的更多上下文,我相信对sed / awk或正则表达式具有专业知识的人可以为您提供帮助。


2

我建议您检出HexFiend-同时也是一个十六进制编辑器,它确实可以直接从硬盘读取文件,并且不像大多数其他文本编辑器一样尝试将其加载到内存中。如果要隐藏十六进制部分,请从“查看”菜单中取消选中“十六进制”。


2

另一种选择是使用内置命令headtail

要获得前1000行:

head -1000 hugefile

要获得最后的1000行:

tail -1000 hugefile

或获得1,000,000至1,001,000之间的线:

head -1001000 hugefile | tail -1000

不过,这可能会花费很多时间。


我喜欢这个选项。如果我只想一次取几块。它现在不适合我的目的,但是将来我会挑衅地使用它:)谢谢
Chris Salij 2010年

0

我的工作需要查看巨大的文本文件,尽管在Windows上也一直在寻找所有替代方案,但已经有很多年了。

我发现唯一可以真正在大型文件上有效工作的文本编辑器是V-The File Viewer

尽管是商业产品,但如果您需要经常编辑此类文件,则为20美元是值得的。
如果您只需要查看一个特定文件,则它具有功能齐全的试用版。

通过网络将10 GB传输到Windows计算机应该不会太慢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.