打开并编辑大文件更好的方式

最近有这么个需求,从正式站往测试站上导数据,数据量还比较大,SQL文件有2.2G左右,需要先编辑其中几行记录再导到测试站上。

由于sql文件是纯文本文件,所以可以用文本编辑器打开。

一开始的方案:

  1. 正式站上导出数据,压缩并同步到OSS;
  2. 从OSS下载到本地,解压;
  3. 使用Sublime Text编辑那几行,再保存并压缩,传到OSS;
  4. 测试站从OSS下载压缩包,解压并导入;

由于公司配的Mac Mini 2018性能尚可,打开2.2G的SQL文件大约需要1.5分钟,编辑过程还算顺畅,保存也只需10秒左右。只是过程中对CPU和内存的占用过大,特别是内存,占到9G左右,由于机器是32G内存,所以影响不大。

直到有一次在家里用Macbook Pro 2015操作,由于是8G内存,在未打开其它软件的情况居然用时12分钟左右才打开,且CPU跑满,严重影响效率,所以在想有没用更高效的方法。

试过几个编辑器,如UltraEdit等,效率跟Sublime Text差不太多,且界面较丑,直接放弃。探索的过程中还发现PhpStorm/Intellij IDEA这两个JetBrains家出的软件打开大文件都是秒开,但仅限于只读模式,编辑就是另一回事了。

备选方案也有:如果手边没有性能强劲的电脑,可临时买个按量付费的云服务器,操作完再释放,毕竟只是短暂操作,一两块钱就能解决问题,但还是有点折腾。

终级方案:直接使用vim编辑即可!

这个方案是一直被忽视的,因为压根就没想过用vim来编辑大文件,事实证明它比我所知道的文件编辑器都要高效,且占用资源极少!

由于只需要编辑开头和结尾的几行,所以编辑完开头的行后,再使用shift+g跳转到最后一行,编辑完保存即可。过程中对CPU的占用可以忽略不计,内存占用基本上小于等于文件本身大小,太棒了!

至此问题解决!

Leave a Comment

豫ICP备19001387号-1