通过记事本++保存文件是终端上的差异比较失败

时间:2012-05-28 11:05:26

标签: windows unix character-encoding diff notepad++

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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