为什么diff表明这两个文件有区别?

时间:2010-11-10 20:43:50

标签: diff

由于某种原因,diff没有按预期响应-w选项;两个文件,除了XML标题末尾的一个新行外,两者都是相同的。

我正在使用-w选项调用diff,如下所示:

diff -w old_file.xml new_file.xml

# head -n4 old_file.xml

<?xml version="1.0" encoding="utf-8"?><survey audio_access_number="" custom="" name="test_conditionFormula" title="" type="CATI"><section id="1" loopover="None" notes="" startrecording="true" title="1">
    <page id="1_Q1" loopover="None" notes="" title="1_Q1"><question id="Q1" number="Q1" style="vertical" text="1" uid="94">
        <single id="single_409" number_response_columns="1" response_list="Q1_L1"/>
        <instructions>Please select one</instructions>

# head -n4 new_file.xml

<?xml version="1.0" encoding="utf-8"?>
<survey audio_access_number="" custom="" name="test_conditionFormula" title="" type="CATI"><section id="1" loopover="None" notes="" startrecording="true" title="1">
    <page id="1_Q1" loopover="None" notes="" title="1_Q1"><question id="Q1" number="Q1" style="vertical" text="1" uid="94">
        <single id="single_409" number_response_columns="1" response_list="Q1_L1"/>

为什么这些标志出现不同,给出差异标志?

2 个答案:

答案 0 :(得分:2)

Diff逐行比较。所以换行不是一行中的空格

  

-w

     

比较时忽略空白区域   线。

http://linux.die.net/man/1/diff

答案 1 :(得分:0)

来自diff手册:

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

似乎新行不是空格。

如果这没有帮助,请使用xxd检查文件,其中一个可能有UTF8标头或一些类似的不可见二进制问题。