ファイル内の特定の文字列を見つけて、次のように置き換えたいと思います。
ファイル test*.xml 内
<root>
<list>
<item ID="abc">
<amount>1</amount>
<text>TEST</text>
</item>
<item ID="cde">
<amount>1</amount>
<text>TEST 2</text>
</item>
</list>
</root>
これを
<root>
<list>
<item ID="abc">
<amount>0</amount>
<text>TEST</text>
</item>
<item ID="cde">
<amount>1</amount>
<text>TEST 2</text>
</item>
</list>
</root>
これまでのところ、私はこれを持っています:
find . -name "test*" -print | xargs sed -i 's/<item ID=\"abc\">/<item ID=\"abc\">/g'
もちろん何もしませんが、改行とスペースを「スキップ」する方法がわかりません。インデントを変更することは許可されていません。私はワンライナーでそれをやろうとしましたが、小さなbashスクリプトでもうまくいくはずですが、私はbashに非常に慣れていません.