【问题标题】:linux cmp utility output: what is a "line"?linux cmp 实用程序输出:什么是“行”?
【发布时间】:2015-11-09 16:10:11
【问题描述】:

有人能告诉我 cmp 命令输出中的“行”号代表什么吗?我问这个是因为,首先,我在任何地方都找不到它的解释。其次,我得到了比较一组文件的结果,其中“char”输出相同(如预期)但“line”输出差异很大。

【问题讨论】:

  • 不是 Linux 特定的,顺便说一下——这都是黑字 POSIX。 (此外,只有一个 cmp 版本,甚至只有一个 Linux cmp;GNU 最流行,但许多基于 Linux 的系统使用 busybox 实现)。跨度>

标签: linux unix cmp


【解决方案1】:

“行”输出反映文件中该点之前看到的换行符的数量。

对于非文本格式的文件,“行”输出可能没有意义,可以忽略;对于文本格式的文件,返回的行号可以在文本编辑器中用于导航到不同的区域。


the POSIX spec for cmp:

对于不是文本文件的文件,行号仅反映 的存在,并不意味着文件被组织成行。


因为默认情况下cmp 只打印看到的第一个差异,所以两个文件之间的行号保证在该点是相同的。当通过 -l 时,cmp 继续超出第一个差异 - 但不再打印行号,从而避免了关于哪个文件的行号计数是规范的任何歧义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    相关资源
    最近更新 更多