不同版本的'diff'在比较2个相同的文件时会产生混合结果

时间:2017-03-02 10:01:05

标签: php html diff

我有2个HTML文件,我认为它们是相同的,但diff的某些版本会产生相互矛盾的结果。

使用PHP curl(http://php.net/manual/en/book.curl.php)从远程URL下载了2个文件。这些文件是在不同的日子下载的,但我相信内容没有改变,包括任何标记。该应用程序的目的实际上是确定是否有变化。

文件大小相同;都是358,341字节。对内容的直观检查表明它们是相同的。

要确保我在本地计算机上使用DiffMerge的标记或其他内容没有差异,并且报告文件是相同的。

但是,当我进入centOS服务器并进行比较时,它会显示以下内容:diff file1.html file2.html

    12159,12161c12159,12161
    <   
    < 
    < 
    ---
    >   
    > 
    > 
    12163,12172c12163,12172
    < 
    < 
    < 
    < 
    < 
    < 
    < 
    < 
    < 
    < 
    ---
    > 
    > 
    > 
    > 
    > 
    > 
    > 
    > 
    > 
    > 
    12174c12174
    < 
    ---
    > 

当我在文本编辑器中查看这些行号时,没有明显的差异。这个输出实际意味着什么?

我还使用了基于网络的差异工具https://github.com/chrisboulton/php-diff,该工具报告的行号完全相同。但是,以“并排”模式(file1.html vs file2.html)查看时的输出完全相同!

有没有人有任何想法如何调试此问题或问题可能是什么?在两个实例中使用相同的脚本和方法下载文件,据我所知,没有编码差异。

2 个答案:

答案 0 :(得分:1)

尝试:

diff -w file1.html file2.html

从手册:

-w  --ignore-all-space  Ignore all white space.

空白字符包括制表符,垂直制表符,换页符,回车符和空格;某些区域设置可能会将其他字符定义为空白区域。 source

答案 1 :(得分:0)

使用hexeditor来区分两个文件,我很确定它们不相同。你会看到差异。例如,wxHexEditor是免费的,多平台并且能够差异化。