Bashでタグを使用してファイルをラップする方法

Bashでタグを使用してファイルをラップする方法

次のように、ルートタグなしでxml呼び出されたファイルがあります。test.xml

<cat></cat>
<name></name>
<id></id>
<cat></cat>
<name></name>
<id></id>

出力が次のようにファイルをルートタグにラップするにはどうすればよいですか?

<root>
  <cat></cat>
  <name></name>
  <id></id>
  <cat></cat>
  <name></name>
  <id></id>
</root>

ベストアンサー1

リダイレクトでこれを行うことができます。

(echo "<root>"; cat test.xml; echo "</root>") > wrapped-test.xml

インデントを使用すると、次のようになります。

(echo "<root>"; sed 's/^/  /' test.xml; echo "</root>") > wrapped-test.xml

おすすめ記事