2つのファイルのデータは同じですが、行が異なります。
ファイル1:
<Identities>
<Identity>
<Id>048206031415072010Comcast.USR8JR</Id>
<UID>ccp_test_79</UID>
<DisplayName>JOSH CCP</DisplayName>
<FirstName>JOSH</FirstName>
<LastName>CCP</LastName>
<Role>P</Role>
<LoginStatus>C</LoginStatus>
</Identity>
<Identity>
<Id>089612381523032011Comcast.USR1JR</Id>
<UID>94701_account1</UID>
<DisplayName>account1</DisplayName>
<FirstName>account1</FirstName>
<LastName>94701</LastName>
<Role>S</Role>
<LoginStatus>C</LoginStatus>
</Identity>
</Identities>
ファイル2:
<Identities>
<Identity>
<Id>089612381523032011Comcast.USR1JR</Id>
<UID>94701_account1</UID>
<DisplayName>account1</DisplayName>
<FirstName>account1</FirstName>
<LastName>94701</LastName>
<Role>S</Role>
<LoginStatus>C</LoginStatus>
</Identity>
<Identity>
<Id>048206031415072010Comcast.USR8JR</Id>
<UID>ccp_test_79</UID>
<DisplayName>JOSH CCP</DisplayName>
<FirstName>JOSH</FirstName>
<LastName>CCP</LastName>
<Role>P</Role>
<LoginStatus>C</LoginStatus>
</Identity>
</Identities>
diff file1 file2
コマンドを使用すると、以下の応答が得られます。
1,10d0
< <Identities>
< <Identity>
< <Id>048206031415072010Comcast.USR8JR</Id>
< <UID>ccp_test_79</UID>
< <DisplayName>JOSH CCP</DisplayName>
< <FirstName>JOSH</FirstName>
< <LastName>CCP</LastName>
< <Role>P</Role>
< <LoginStatus>C</LoginStatus>
< </Identity>
20a11,20
> <Identities>
> <Identity>
> <Id>048206031415072010Comcast.USR8JR</Id>
> <UID>ccp_test_79</UID>
> <DisplayName>JOSH CCP</DisplayName>
> <FirstName>JOSH</FirstName>
> <LastName>CCP</LastName>
> <Role>P</Role>
> <LoginStatus>C</LoginStatus>
> </Identity>
しかし、これらのファイルは異なる行に同じデータを持っているので、違いはありません。
行ごとに並べ替えて比較することで、等しくないかどうかを確認できます。もちろん、並べ替え後にXML構文が破壊されるため、並べ替え後に等しいとは限りません。
—
jofel 2013
それを解決する方法がわからない。それらは、file1 a、b、file2 b、aの順に異なります。diff -y -B -Z -b --strip-trailing-cr file1 file2
—
Yurij73
を試すこともできますが
—
derobert
xmldiff
、順序は汎用XMLに関連しているため、順序が変わっていることに気づくと思います。あなたの最善のアプローチは、XMLパーサーとジェネレーターを使用して各ファイルを正規の順序と形式にしてから、xmldiff
またはを使用することdiff
です。お気に入りのスクリプト言語(Perl、Ruby、Pythonなど)の仕事。