当我在工作站上运行diff程序时,我不知道为什么。它给出了输出差异,而文件内容对我来说似乎是一样的。 这是我的输出结果 但是当我使用vimdiff打开文件时。它们没有任何区别。谁知道原因? PS。我使用了diff a.txt b.txt和vimdiff a.txt b.txt的命令 谢谢你的回答
答案 0 :(得分:4)
我通常发现它与行结尾有关。 DOS样式的文件,其行结尾为CR/LF
(回车符和换行符(a)),而UNIX样式的文件只有LF
。
虽然他们可能看起来相同,但他们不是。我建议你做一个文件的十六进制转储,看看有哪些实际的(但隐藏的)字符,例如:
od -xcb file | less
具有DOS样式行结尾的文件在每行的末尾都有\r \n
。 UNIX-stle只有\n
(b)。
(a)回滚到打字机的日子,当回车意味着将滑架向左滑动时,换行意味着将纸张滚动到一条线上,将打印头留在整篇论文中的相同立场。通常,这些操作是合并但并非总是如此。
(b) Mac风格的文件,至少在他们结束并开始使用体面的操作系统之前,只有\r
个CR
字符。