次のようなデータを含む巨大な XML ファイルがあります。
<amount quantity="1">12.00</amount>
sedを使用して12.00を別のものに置き換えるにはどうすればよいですか?
次のようなデータを含む巨大な XML ファイルがあります。
<amount quantity="1">12.00</amount>
sedを使用して12.00を別のものに置き換えるにはどうすればよいですか?
あなたの質問には十分な情報がありませんが、のすべての値を次のように置き換えるには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 に設計されていないことを強制するべきではありません。