XMLファイルに行を挿入する必要があります。
入れる
<one>
</one>
入力する
<tags>
</tags>
得る
<tags>
<one>
</one>
</tags>
私はこれを試しました:
sed "s#\\(< /tags>\\)#${multiline_string}\1#"
しかし、インデントは失われます。
ベストアンサー1
Matが言ったように、インデント(そして一般的に空白)はXMLファイルにとって重要ではありません。これ:
<one><tags></tags></one>
以下とまったく同じです。
<one>
<tags>
</tags>
</one>
しかし、これはインデントを維持しながら機能します。
$ cat myfile.xml
<tags>
</tags>
$ sed '/<one>/ a\
<tags>\
</tags>
' myfile.xml > newfile.xml
$ cat newfile.xml
<one>
<tags>
</tags>
</one>
...しかし、XMLで作業している場合は、実際にXMLを解析し、プログラムでツリーを操作できる高度な言語の使用を検討することができます。