0

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

4

1 回答 1

1

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

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


根据POSIX 规范cmp

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


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

于 2015-11-09T16:14:05.863 回答