用于编辑大型 (4.3 GB) 纯文本文件的文本编辑器

cup*_*kob 115 text-editor files

有没有文本编辑器可以编辑这样的文件?

我试过了:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

没有成功。

小智 103

另一种方法是使用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
Run Code Online (Sandbox Code Playgroud)

  • 请注意,许多编辑器 ** 会在您编辑的文件末尾添加换行符**,并且这样做 * 不会通知您!* 有关更多信息,请参阅 *如何阻止 Gedit、Gvim、Vim、Nano 添加 End- of-File 换行符?* http://askubuntu.com/q/20871/2670 (13认同)
  • (简而言之,使用 `nano --nonewlines` 来避免自动添加换行符) (5认同)

sie*_*dil 51

试试。我只是用它来编辑一个 ~5G SQL 转储文件。打开文件大约需要一分钟,保存它需要几分钟,很少使用交换(在具有 4G RAM 的系统上)。


小智 19

你不会找到他们。如果要替换此文件中的某些行,可以查看 withless或 grep 和 usesed来搜索和替换某些行。

像这样:

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
Run Code Online (Sandbox Code Playgroud)

维基百科上有一些有用的例子:http : //en.wikipedia.org/wiki/Sed

  • 或者特别是使用 `-i` 标志(就地),所以它的行为本质上就像一个文本编辑器,将替换原始文件内容。 (3认同)

Pet*_*r.O 16

如果您愿意,可以试一试,但是如果您想进行“正常”编辑,这样的大文件将变得不切实际;例如,您不想过于频繁地保存您的编辑;这将花费太长时间:)

如果它是一次性的,split并且join效果很好,并且很简单,可以将其切成可管理的块,然后重新组合起来……请注意,许多编辑器在编辑的末尾添加换行符文件,并在不通知您的情况下进行!有关更多信息,请参阅如何阻止 Gedit、Gvim、Vim、Nano 添加文件尾换行符?

如果你真的想编辑这么大的文件,试试 Gvim ......我刚刚加载了一个 3.9GB 的文件,一切似乎都很正常......

这是一个关于此事的有趣链接,在stackoverflow


小智 13

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

  • 欢迎来到 Askubuntu.com!虽然建议的包可能会解决问题,但请注意 glogg 旨在搜索大文件,而不是实际编辑它们。 (7认同)

小智 13

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

首先你应该安装midnight comander - linux系统的优秀文件管理器

sudo apt-get install mc
Run Code Online (Sandbox Code Playgroud)

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

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

例子: mc 十六进制视图

  • 我的 5 美分 - MC 无法编辑 110GB 文件,但在查看模式下打开。 (3认同)

小智 9

010 Editor对我来说很棒,运行速度非常快。

  • 请注意,这是 30 天的试用版,家庭/学术许可证 50 美元,商业许可证 130 美元(发表评论时) (2认同)

Mar*_*ere 8

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

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

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

sudo apt-get install nedit
Run Code Online (Sandbox Code Playgroud)

它是 GPLv2 开源的。

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

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

  • 与 ~800mb 的字典文件一起工作正常。 (2认同)
  • 还有后续项目 [XNedit](https://sourceforge.net/projects/xnedit/),它为字体提供了抗锯齿功能! (2认同)