I持って、次のXML形式、私は場合は、唯一の特定のクラスDのオブジェクトを検索し、インスタンスの値はそのオブジェクトのために空であるかどうかを確認する必要がありは見つけるとxmlファイル内の値を置き換えるためにシェルスクリプトで助けが必要
<object class="Class A">
<directory>someString1</directory>
<attr>
<name>length</name>
<value>6</value>
</attr>
<attr>
<name>parent</name>
<value>1</value>
</attr>
<attr>
<name>Status</name>
<value>1</value>
</attr>
<attr>
<name>className</name>
<value>Class A</value>
</attr>
<attr>
<name>Instance</name>
<value>InstanceValue</value>
</attr>
</object>
...
<object class="Class D">
<directory>someString4</directory>
<attr>
<name>length</name>
<value>8</value>
</attr>
<attr>
<name>parent</name>
<value>1</value>
</attr>
<attr>
<name>Status</name>
<value>1</value>
</attr>
<attr>
<name>className</name>
<value>Class D</value>
</attr>
<attr>
<name>Instance</name>
<value></value>
</attr>
</object>
....
引数として与えられた値を空にして空にします。 XMLファイルには複数のオブジェクトがあり、XMLタグの名前と値はかなり繰り返されています。さらに、私はsuse Linux上でのみシェルスクリプトを使ってそれを行う必要があります。
シェルスクリプトとSEDの新機能です。私は自分のレベルをstackoverflowで既存の質問と回答を見つけるのに最善を尽くしましたが、関連するものは見つけられませんでした。 ご協力いただきまして誠にありがとうございます。
私はXML/HTMLパーサ(xmlstarlet、xmllintを使用することをお勧め... )。 – Cyrus
有効なxmlファイルとそのサンプルの出力を質問に投稿してください。 – Cyrus
「シェルスクリプトのみで行う必要がある」と言ったときの制限事項を明確にすることはできますか?通常、これは「余分なソフトウェアをインストールすることはできません」という意味ですが、「perlとpythonは許可されていません」、あるいは「grepやsedのような単純なコマンドだけです。 –