ips*_*psi 8 linux text-editors
我在这里遇到了一个相当简单的问题:我有一段文本,它是一个巨大的大行(约 150,000 个字符)。没有换行符,而且它是一个固定长度的平面文件(即它是由COBOL程序生成的),因此引入换行符不仅很尴尬,而且如果我试图对文件进行更改,它也毫无帮助。
大多数文本编辑器都在为这么大的一行而苦苦挣扎(less不喜欢,Gedit不喜欢,nano不喜欢,我听说vim不喜欢,等等),尽管它们确实有效。
有没有人对更适合我正在处理的数据的编辑器有任何建议?它只是一行,但它仍然会导致比具有正常长度行的 1GiB+ 文本文件更多的问题......
如果它EBCDIC在遇到空字节时使用而不是 barf会更好,或者在写回时破坏它们(某些字段是二进制编码的十进制数)。
请注意,这不是关于原始大小很大的文件——文件只包含一行——而是关于大多数编辑器没有优化来处理很长的行的事实。
我实际上只是在一个只有150000 个字符的单行文件上尝试了vim,它运行得像丝绸一样流畅。
所以我想你真的应该试一试,如果你不只是因为you heard vim doesn't like such kind of files.
这是我获取文件的方式:
seq 150000 | while read num; do echo -n "b" ; done > megaline.txt
Run Code Online (Sandbox Code Playgroud)
我认为像您所描述的方式这样的文件实际上就像一个二进制文件一样,您应该这样对待它。
您可以使用十六进制编辑器对其进行攻击,但这对 EBCIDC 部分没有帮助。
如果您必须对这个文件进行大量编辑并且非常熟悉它的固定长度记录格式,那么您可能需要花时间用 Perl 或其他语言编写一些东西(我建议使用 Perl,因为它很旧并且很可能具有将 UTF-8 等转换为 EBCIDC 的模块),这将适用于该文件的特定格式。