问题描述
有没有文本编辑器,可以编辑这样的文件?
我试过了:
-
gedit
-
kate
-
nano
-
vim
-
mcedit
没有成功。
最佳解决思路
另一种方法是使用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
次佳解决思路
试试joe。我只是用它来编辑~5G SQL转储文件。打开文件大约需要一分钟,保存几分钟,很少使用swap(在具有4G RAM的系统上)。
第三种解决思路
你找不到他们。如果要替换此文件中的某些行,可以使用less
或grep查看并使用sed
来搜索和替换某些行。
像这样:
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
维基百科上有一些有用的例子:http://en.wikipedia.org/wiki/Sed
第四种思路
如果你愿意,可以试一试,但如果你想做”normal”编辑,那么这些大文件就变得不切实际了;例如,你不想经常保存你的编辑;这将花费太长时间:)
如果它是一次性的,split
和join
可以很好地工作,它很简单,可以将它切成可管理的块,然后重新加入碎片……请注意,许多编辑将添加一个换行符到最后您编辑的文件,并在不通知您的情况下执行此操作!有关详细信息,请参阅How to stop Gedit, Gvim, Vim, Nano from adding End-of-File newline char?
如果你真的想编辑这么大的文件,试试Gvim ….我刚刚加载了一个3.9GB的文件,一切似乎都很正常……
这是关于此事的有趣链接,在stackoverflow
第五种思路
使用glogg – 快速,智能的日志浏览器:http://glogg.bonnefon.org/
第六种思路
还有另一种非常简单快速的方法来替换非常大的文件中的内容(而不是编辑大型mysql转储)
首先你应该安装midnight comander – linux系统的优秀文件管理器
sudo apt-get install mc
之后,您可以在”view mode”中打开任何大小的文件(使用F3快捷方式),切换到HEX视图(F4快捷方式)并激活编辑模式(F2快捷方式)。
例如,我有3 GB的mysql转储,我想删除一些SQL行。我打开视图模式,查找字符串,打开十六进制模式并在需要行之前用MYSQL注释替换内容(字符串“ – ”,十六进制代码2D 2D 20)。
例:
第七种思路
根据tuxdiary:
HTH
第八种思路
010 Editor非常适合我,工作速度非常快。
第九种思路
根据这篇维基百科文章Comparison of text editors VIM等。我打算建议Geany,但有一个?在大型文件支持领域……
编辑:我继续和geany一起尝试并且在等待10分钟后放弃了3个核心并且基本上我的所有 memory (虚拟和物理)都在使用整个时间……没有决定因为它可能设法打开它如果我我更耐心了。我查找并没有找到任何设置/首选项来处理大文件也不同。
我最喜欢fred.bear的答案。