0

次のようなデータを含む巨大な XML ファイルがあります。

<amount quantity="1">12.00</amount>

sedを使用して12.00を別のものに置き換えるにはどうすればよいですか?

4

2 に答える 2

1

あなたの質問には十分な情報がありませんが、のすべての値を次のように置き換えるには12.00、次のように24.00します。

$ sed 's/>12\.00</>24.00</g' file.xml

結果に満足している場合は、-iオプションを使用して結果を保存できます。

$ sed -i 's/>12\.00</>24.00</g' file.xml

より rubust の一致は次のようになります。

$ sed -r 's_(<amount quantity="[0-9]+">)12.00(</amount>)_\124.00\2_g' file.xml

しかし、実際には XML を適切に解析する必要があり、regexp に設計されていないことを強制するべきではありません。

于 2013-04-08T14:35:21.807 に答える