文本编辑器可编辑大(4.3 GB)的纯文本文件


86

是否有可以编辑此类文件的文本编辑器?

我试过了:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

没有成功。


8
您需要对其进行编辑还是仅查看?如果是后者,则只需在CLI中使用“ less”即可。
Shunz先生2011年

3
@MrShunz:是的,我要编辑文件。@Bakhtiyor:答案为“是” :)
cupakob 2011年

2
我建议编辑您的问题,以提及您要编辑文件的事实。这样一来,人们就不必搜索注释来查找您的问题和/或您的问题是否与他们所提出的问题足够相似。
Firefeather 2011年

1
您是否有机会打开42个zip炸弹基础文件?我遇到了这个问题,发现一个名为“ 010编辑器”的程序运行良好

有关堆栈溢出:在Linux中使用大文件
Eliah Kagan

Answers:


81

另一种方法是使用split。将文件分成8个部分,并使用编辑器进行操作。之后,您再次重新组装文件。

split -b 53750k <your-file>

cat xa* > <your-file>


SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

-a, --suffix-length=N
              use suffixes of length N (default 2)

       -b, --bytes=SIZE
              put SIZE bytes per output file

       -C, --line-bytes=SIZE
              put at most SIZE bytes of lines per output file

       -d, --numeric-suffixes
              use numeric suffixes instead of alphabetic

       -l, --lines=NUMBER
              put NUMBER lines per output file

这似乎是目前最好的解决方案……
cupakob 2011年

9
请注意,许多编辑器会在已编辑文件的末尾添加换行符,并且在不通知您的情况下执行换行符有关更多信息,请参见如何阻止Gedit,Gvim,Vim,Nano添加文件结束换行符char? askubuntu.com/q/20871/2670
Peter.O 2011年

好方法...然后您应该将vim与单个部分一起使用...我讨厌vim:P但它在这里赢得了所有其他编辑
Postadelmaga 2012年

1
@ Peter.O:链接更改了吗?我很难在该URL上找到有关换行符问题的信息。:/更新:在这里找到所引用的问题:askubuntu.com/q/13317/372950
rinogo 2015年

3
(简而言之,用于nano --nonewlines避免自动添加换行符)
rinogo

39

试试。我只是用它来编辑〜5G SQL转储文件。打开文件大约要花一分钟,而保存文件则要花几分钟,并且很少使用swap(在具有4G RAM的系统上)。


这对于我编辑1GB xml文件非常有效。
digitaljoel 2014年

拥有2GB的文件效果很好
达米尔Olejar

在14G SQL转储文件上尝试过,但失败并出现IO错误。(机器具有3GB RAM和3GB交换空间)。
tehwrus

1
哇!“乔”过去了-很多人都死了!
1111161171159459134

给了joe一个4.6gb的文件,几分钟后什么都没发生,所以放弃了Hex Fiend立即打开它,但是似乎您不能编辑它
-balupton

17

您将找不到它们。如果要替换此文件中的某些行,可以less使用with 或grep 查看并用于sed搜索和替换某些行。

像这样:

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

Wikipedia上的一些有用示例:http : //en.wikipedia.org/wiki/Sed


3
或尤其是带有-i标志(就地),因此它的行为本质上类似于将替换原始文件内容的文本编辑器。
OR Mapper 2014年

不要使用sed -i; 那ed是为了什么。
fkraiem

14

如果愿意,可以尝试一下,但是如果您想进行“常规”编辑,那么大文件就变得不切实际了。例如,您不想经常保存编辑内容;这将花费太长时间:)

如果它是一次性的,split并且join效果很好,那么它很简单,可以将其切成可管理的块,然后重新加入各个部分……请注意,许多编辑人员都会在编辑的末尾添加换行符文件,而不会通知您!有关更多信息,请参见如何阻止Gedit,Gvim,Vim,Nano添加文件结束换行符char?

如果您真的想编辑这么大的文件,请尝试Gvim。...我刚刚将3.9GB文件加载到其中,而且一切似乎都很正常...

这是关于这个问题的有趣链接,位于stackoverflow


不gvim的工作....
cupakob

1
@upakob:它刚刚使用Gvim成功地在我的系统上加载了4.5GB的文件...加载花费了6分钟。你等了足够长的时间吗?(这是我保存文件的意思。这将需要很长时间)...尝试运行iotop以监视其加载时的I / O统计信息。系统监视器显示我有3.2 GB的RAM(这很困惑我,因为我有4 GB)...
Peter.O 2011年

1
@upakob:这次我尝试了8GB,Gvim已经成功加载了它……所以Gvim可以“技术上”处理较大,更大甚至是“最大”的文件,但是即使这样,还是有些“不切实际”的(除非您像我一样准备等待41分钟才能加载8GB。::)...但我认为我不会再麻烦了.....
Peter.O 2011年

您似乎链接了错误的问题。
psusi 2014年

您似乎已经将第一个链接更改为与第二个链接相同,而不是更改为“如何停止gedit等添加文件换行符的末尾”。
psusi 2014年

11

使用glogg-快速,智能的日志浏览器:http://glogg.bonnefon.org/


4
欢迎来到Askubuntu.com!尽管建议的软件包可以解决问题,但是请注意glogg的目的是搜索大文件,而不是实际编辑它们。
2014年

尝试过,它总是肿。
凯斯(Kais)

11

还有另一种非常简单快速的方法来替换非常大的文件中的内容(该方法代替编辑大型mysql转储)

首先,您应该安装Midnight comander-Linux系统的出色文件管理器

sudo apt-get install mc

之后,您可以在“查看模式”(使用F3快捷方式)中打开任何大小的文件,切换到十六进制视图(F4快捷方式)并激活编辑模式(F2快捷方式)。

例如,我有3 GB的mysql dump,我想在其中删除一些SQL行。我打开视图模式,找到字符串,打开十六进制模式,并用MYSQL注释(字符串“-”,十六进制代码2D 2D 20)替换所需行之前的内容。

例: mc hex视图


2
我的5美分-MC无法编辑110GB文件,但在查看模式下打开。
安德隆

@Andron,您仍然可以在视图模式下替换内容
user10635

有趣。你能描述一下吗?
Andron

1
@Andron好吧,我已经在回答中描述了这一点。:)打开查看模式,按F4十六进制并替换任何文件中的任何内容,无论大小。
user10635

哦,你是对的。请注意,就我而言,我需要替换一个长字符串,这就是为什么我不满意的原因。但是是的,总的来说,这是可能的。
安德伦



4

nedit文本编辑器中已经有很长一段时间,是相当能干。它可以在大约20秒内打开1.9Gb文本文件。这是一个类似于Windows的图形界面,具有您期望的所有标准文本编辑功能,例如语法突出显示,缩进,行编号等。

如果要调整窗口大小,请在打开大文件之前执行此操作。X11 Motif的大小调整有些慢,但这也是一个繁重的工作。

它在所有标准存储库中,因此请安装:

sudo apt-get install nedit

它是GPLv2开源。

https://sourceforge.net/projects/nedit/

我正在浏览30-40Mb的文本文件并nedit轻松处理它们。


3

您可以使用打开文件hexedit。但是,您将只能更改文本,而不能添加或删除文本。


2

根据这篇维基百科文章,文本编辑器 VIM与其他工具的比较。我本来建议Geany,但有一个?在大文件支持领域...

编辑:我继续尝试geany,并在等待10分钟后停止使用3个核心,并且整个时间内基本上所有我的内存(虚拟和物理)都在使用中...尚无定论,因为如果我将它打开的话更加耐心。我一直在寻找,也没有找到用于处理大文件的任何设置/首选项。

我最喜欢fred.bear的回答。


2

在Windows中,您具有TextPad,EditPad和EmEditor。

在Linux中,您具有
运动学特性:http ://turtlewar.org/projects/editor/

以及许多十六进制编辑器,例如:
bless
http://home.gna.org/bless/

wxhexeditor
http://wxhexeditor.sourceforge.net/home.php

所有这些都使您可以编辑非常大的文件(甚至是TB),并且可以轻松地进行操作,而无需拆分和重新组合文件,这容易出错且麻烦。


1

我们遇到的情况是日志文件已累积到6GB,需要按日期或字符串进行搜索。很少有知名的文本编辑器可以支持如此大的文件。

找到了JOE编辑器,该编辑器能够在2分钟内加载6GB的文件,并能够浏览该文件。

Windows版本(sourceforge.net)

Ubuntu(sourceforge.net)



0

Emacs可以完成这项工作(我之前已经在其中编辑了10 + GiB文件),但是对新用户而言,它和vim一样不友好,因此可能无法满足您的需求。学习曲线非常陡峭。

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.