我有两个我想要比较的文件看起来完全一样,但是当我在它们上运行diff我得到下面的输出时......
在看了一个小时的大部分时间之后,我无法确定它的区别。我甚至使用透明窗口应用程序比较了这两个文件,并且看不到任何不同。有任何想法吗?我错过了什么吗?感谢
8c8
< 3 Molly Poultice / Ledasha Winnie 121.88 42.62
---
> 3 Molly Poultice / Ledasha Winnie 121.88 42.62
10c10
< 5 Charlie Anthony Fink / Xavier Together 121.33 42.42
---
> 5 Charlie Anthony Fink / Xavier Together 121.33 42.42
12,13c12,13
< 1 2 3 4 5 6 7 8 9 10 11 12 13
< - - - - - - - - - -- -- -- --
---
> 1 2 3 4 5 6 7 8 9 10 11 12 13
> - - - - - - - - - -- -- -- --
15,16c15,16
< Board 1 8.5 8.5 0 8.5 2 6 ---- 11 4 4 8.5 4 1
< 100 100 -500 100 -140 90 ---- 150 50 50 100 PASS -300
---
> Board 1 8.5 8.5 0 8.5 2 6 ---- 11 4 4 8.5 4 1
> 100 100 -500 100 -140 90 ---- 150 50 50 100 PASS -300
18,19c18,19
< Board 2 7.5 9.5 2 2 7.5 5 ---- 11 6 2 9.5 2 2
< 110 130 -140 -140 110 -110 ---- 140 100 -140 130 -140 -140
---
> Board 2 7.5 9.5 2 2 7.5 5 ---- 11 6 2 9.5 2 2
> 110 130 -140 -140 110 -110 ---- 140 100 -140 130 -140 -140
21,22c21,22
< Board 3 ---- 3.80 7.5 11 2.11 7.5 7.5 7.5 7.5 2.11 0 2.11 7.5
< ---- 80 110 140 -50 110 110 110 110 -50 -150 -50 110
---
> Board 3 ---- 3.80 7.5 11 2.11 7.5 7.5 7.5 7.5 2.11 0 2.11 7.5
> ---- 80 110 140 -50 110 110 110 110 -50 -150 -50 110
答案 0 :(得分:4)
将-b
选项添加到diff
以忽略空格中的更改,并查看您的文件现在是否匹配。
答案 1 :(得分:2)
此文本文件是否在类UNIX系统和MacOS或Windows之间移动?如果文件是在不同的操作系统上编辑或编写的,则可能存在行结尾差异。我会使用od -x
对每个文件的第一位进行十六进制转储,然后查看它的差异。
例如,第一个不同的行是3号,所以
head -3 <firstfile |od -x >firstfileshort
head -3 <lastfile |od -x >lastfileshort
diff firstfileshort lastfileshort
答案 2 :(得分:1)
可能的原因是不同的行结尾 - diff会显示差异,其中一个文件的行以\r\n
结尾(字节0x10 0x13),另一个文件的行以\n
结尾(只是字节) 0×13)。一个或另一个文件可能在行的末尾还有额外的空格,而另一个则没有。