【问题标题】:vi: Line too longvi:行太长
【发布时间】:2012-08-29 20:53:45
【问题描述】:

当我使用 vi 分析日志文件时,有时会出现错误:'Line too long'。我可以使用more 观看该文件,但这不是我想要的。

命令视图导致相同的结果,less 未安装。

系统是 HP-UX v B.11.31 U ia64

  1. 这个错误是什么意思? vi 真的对每行允许多少个字符有限制吗?
  2. 是否有一种解决方法可以让文件在 vi 中打开并显示?

【问题讨论】:

    标签: linux unix vi hp-ux


    【解决方案1】:

    找出支持的限制,然后使用fold

    fold -80 your_file | more
    

    或者

    fold -80 your_file > /tmp/your_file.0
    vim /tmp/your_file.0
    

    【讨论】:

    • 折叠行可能会使分析变得更加困难,因为信​​息现在位于 多个 行上 - 您最好不要理会文件并选择更好的分析工具。
    • 是的,我从来没有这个问题,但我使用 vim :) 只是把它扔在那里;很可能 OP 不知道这个工具。
    • 这就是一种解决方法。我在哪里使用 fold -2048 your_file > your_file_folded
    【解决方案2】:

    (1) 显然是这样 :-)

    我以前从未遇到过vim (a) 的限制,但可能是 HPUX 附带的vi 不是vim

    (2) 你在用vi 对日志文件进行什么样的分析?

    这种任务非常适合 sedawkPerl 等文本处理工具,以增加令人敬畏的程度。


    (a): 如果您还没有vim,您可能需要考虑获取它。来自文档的 vi_diff 部分(vivim 之间的差异):

    Vim 对可编辑的文件只有几个限制 {Vi: 不能处理字符和 128 以上的字符,行长有限,还有很多其他限制}。

    最大行长度:在具有 16 位整数的机器上(Amiga 和 MS-DOS 实模式):32767,否则为 2147483647 个字符。较长的行被拆分。

    最大行数:2147483647 行。

    最大文件大小:当长整数为 32 位时为 2147483647 字节(2 GB)。 64 位长的更多。还受到交换文件可用磁盘空间的限制。

    【讨论】:

    • 这如何回答这个问题? FWIW,我非常喜欢使用 vim 来完成这种工作,除非它会被重复
    • @sehe,我相信有人回答说vi 并不真正适合日志文件分析的工作。我还在末尾添加了一点,如果您必须使用vi,请使用vim,而不是使用更长的行长。
    • 添加的长度限制信息现在使这一点更加明显。首先,您对“是否有人知道如何在 vi 中打开和显示文件的解决方法?”的回答?基本上是:使用 sed、awk、perl :)
    • @paxdiablo 感谢到目前为止。那么问题是没有安装vim。
    • @paxdiablo 以及如何安装 vim,如果您没有 :-( 的权限?否则我同意您的看法。但如果您没有时间学习新工具,你会使用你已经知道的工具。
    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 2022-06-30
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多