无法使用diff确定差异

时间:2011-02-02 01:09:31

标签: unix diff text-files

我有两个我想要比较的文件看起来完全一样,但是当我在它们上运行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

3 个答案:

答案 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)。一个或另一个文件可能在行的末尾还有额外的空格,而另一个则没有。