为了在两台计算机之间共享配置文件,我通过我的 gmail 帐户将文件通过电子邮件发送给自己。当我在第二台计算机上加载 conf 时,程序无法读取每一行。怀疑换行符有问题(dos vs unix 风格),我在 gvim 中打开了文件。我没有像我怀疑的那样在那里看到任何 ^M。'set list' 没有显示任何奇怪的东西 - 只是文件的文本,每一行都按我的预期以 '$' 结尾。它看起来非常好。文件的猫看起来就像我期望的那样。
出于绝望,我将文件移开,并在拆分的 vim 会话中手动重新键入文件的内容(只有大约 20 行)。我对这两个文件运行了 gvim -d ,结果没有区别。
我运行了使用配置文件的程序,果然,它现在能够很好地读取新输入的文件。
我对这两个文件进行了 md5sum,它们确实有不同的总和。我对原始文件和新键入的文件进行了比较,结果显示文件的每一行都不同。但我看不出输出有什么不同。
所以,我很好奇:我可以使用什么工具来查看这两个文件之间的差异?gvim -d 显示没有差异,diff 显示它们都不同,但输出看起来相同。
如果我可以附上这两个文件,我会的。
我认为一种更简单的方法是通过管道传输您的差异输出 cat -t
diff file1 file2 | cat -t
Run Code Online (Sandbox Code Playgroud)
这种方法也适用于各种版本控制工具
bzr diff | cat -t
Run Code Online (Sandbox Code Playgroud)
使用od -c转储每个文件为十六进制,然后diff的结果。
od -c file1 > file1.hex
od -c file2 > file2.hex
diff file1.hex file2.hex
Run Code Online (Sandbox Code Playgroud)