0

我在 Windows 上使用 notepad++ 以 UTF-8 和 ASCII 格式保存了一个文本文件。该文本与 UNIX 版本具有相同的字母表示,但通过 diff 声称完全不同(例如 1,267c1,267)。这些文件在二进制级别上实际上是不同的(xxd -b test.txt),但是 vimdiff 的结果与 vim 不同:它表明它们是相同的。我猜是因为 vimdiff 在对文件进行 diff 之前渲染文本?为什么会有这样的不一致?

4

2 回答 2

1

如果您使用-bto 选项diff,它将忽略前导和尾随空格,包括行尾字符的差异。hd如果这不能解决问题,您可以使用(hexdump) 或od -c(八进制转储,显示 ascii 字符)仔细检查各个文件。

于 2012-05-31T12:03:47.620 回答
0

检查您比较的文件中的行尾字符。可能是您\r\n在每行末尾保存了它们,而 Unix 版本以\n.

于 2012-05-31T11:54:32.850 回答