複数tar内容を個別ディレクトリに配置して単一tarファイルを再構成したい
複数個のtarファイル(正確にはtar.bz2)が存在するとき、各tarファイルが内包するファイル群を単一のtarファイル(こちらもtar.bz2)に再構成したいです。
このとき、入力tarファイル群のファイル名部分をサブ・ディレクトリ名とし、出力tarファイル内では各サブ・ディレクトリ配下に入力tarファイル内容がそれぞれ配置されるようにしたいと考えています。
入出力tarファイルのイメージは下記の通りです:
入力tarファイル群
$ ls
aaa.tar.bz2 bbb.tar.bz2 ccc.tar.bz2
$ tar -tf aaa.tar.bz2
./123
$ tar -tf bbb.tar.bz2
./XYZ
$ tar -tf ccc.tar.bz2
./日本語
期待する出力tarファイル
$ tar -tf repacking.tar.bz2
./aaa/123
./bbb/XYZ
./ccc/日本語
一旦全ての入力tarファイル群を展開し、その後で出力tarファイルを再構成していけば実現は可能なのですが、ディスク使用量を抑えるという観点から、なるべくファイルを展開しないですむ解法はないものでしょうか。
実行環境:
$ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
$ tar --version
tar (GNU tar) 1.26