###前提・実現したいこと
下記のような2つのXMLファイルが存在している時
両方を比較して差異がある部分を抽出したい。
■ ファイルA
<TTT> <hoge id="123"> <fuga> <ppp id="456"> <pair name="aaa"> <pair name="bbb"> <pair name="ccc"> </ppp> <zzz id="789"> <pair value="ddd"> <pair value="eee"> <pair value="fff"> </zzz> </fuga> </hoge> </TTT>
■ ファイルB
<TTT> <hoge id="123"> <fuga> <ppp id="456"> <pair name="aaa"> <pair name="bbb"> <pair name="ccc"> </ppp> <zzz id="789"> <pair value="ZZZ"> <pair value="eee"> <pair value="fff"> </zzz> </fuga> </hoge> </TTT>
TTT - hoge - fuga - zzz - pair value="ddd"と
TTT - hoge - fuga - zzz - pair value="ZZZ"とで
差異があるということを判別したいです。
###環境
CentOS [ シェル ruby(標準ライブラリのみ) ]
###試したこと
diff や grep で試したのですが、差異が下記のように表示されます。
<pair value="ZZZ">
これだとどこの部分の pair value かまでは分かりません。
TTTの hogeの fugaの zzzの pair valueが違うというところまでわかりたいです。
ruby(標準ライブラリ)またはシェルで実装させたいのですが、どのような手法が考えられますでしょうか?
いい方法をご存知の方いらっしゃいましたら教えて頂けませんでしょうか?
###結果イメージ
コンソール上 # スクリプト.rb ファイルA ファイルB ↓ 標準出力 TTT - hoge - fuga - ppp - pair value="ZZZ"
スクリプトと引数で実行、第一引数のファイルに無いものを標準出力させる。
これに近いかたちで実現させたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/04 23:32