【发布时间】:2012-08-29 20:53:45
【问题描述】:
当我使用 vi 分析日志文件时,有时会出现错误:'Line too long'。我可以使用more 观看该文件,但这不是我想要的。
命令视图导致相同的结果,less 未安装。
系统是 HP-UX v B.11.31 U ia64
- 这个错误是什么意思? vi 真的对每行允许多少个字符有限制吗?
- 是否有一种解决方法可以让文件在 vi 中打开并显示?
【问题讨论】:
当我使用 vi 分析日志文件时,有时会出现错误:'Line too long'。我可以使用more 观看该文件,但这不是我想要的。
命令视图导致相同的结果,less 未安装。
系统是 HP-UX v B.11.31 U ia64
【问题讨论】:
找出支持的限制,然后使用fold
fold -80 your_file | more
或者
fold -80 your_file > /tmp/your_file.0
vim /tmp/your_file.0
【讨论】:
(1) 显然是这样 :-)
我以前从未遇到过vim (a) 的限制,但可能是 HPUX 附带的vi 不是vim。
(2) 你在用vi 对日志文件进行什么样的分析?
这种任务非常适合 sed、awk 和 Perl 等文本处理工具,以增加令人敬畏的程度。
(a): 如果您还没有vim,您可能需要考虑获取它。来自文档的 vi_diff 部分(vi 和 vim 之间的差异):
Vim 对可编辑的文件只有几个限制 {Vi: 不能处理字符和 128 以上的字符,行长有限,还有很多其他限制}。
最大行长度:在具有 16 位整数的机器上(Amiga 和 MS-DOS 实模式):32767,否则为 2147483647 个字符。较长的行被拆分。
最大行数:2147483647 行。
最大文件大小:当长整数为 32 位时为 2147483647 字节(2 GB)。 64 位长的更多。还受到交换文件可用磁盘空间的限制。
【讨论】:
vi 并不真正适合日志文件分析的工作。我还在末尾添加了一点,如果您必须使用vi,请使用vim,而不是使用更长的行长。