xml
ルート要素が欠落している大容量(数GB)ファイルがあります。cat
Ubuntuでは、コンテンツの周囲に要素をラップするために使用できます<root>
。
コンテンツを抽出して再パッケージ化せずにこれを達成するにはどうすればよいですか?
別のプレフィックスとサフィックスgzファイルを作成し、それをcatに関連付けると機能します。しかし、明示的なpre-/postfix gzファイルを作成しなくても良いことはできますか?同じ目標をすぐに達成できますか?
echo "<root>" | gzip > prefix.gz
echo "</root>" | gzip > postfix.gz
cat prefix.gz input.xml.gz postfix.gz > newfile.gz
答え1
ここでは、文字列と一連のコマンドを使用できます。
(gzip <<<"<root>"; cat input.xml.gz; gzip <<<"</root>") > newfile.gz
ここで、文字列の説明は次のとおりです。<<<はどういう意味ですか?そしてバッシュマニュアル。