7z で tgz を扱うには、パイプする
STDOUT/STDINを駆使してパイプする
7z -so x a.tgz | 7z l -aoa -ttar -si
tgz はネスト扱い
tgz は tar.gz の名前通り、ネスト扱いです。
$ 7z -ba -r l a.tgz 2022-06-17 17:32:20 ..... 276480 259342 a.tar
なので、コマンドをパイプします。
7z -so x a.tgz | 7z l -ba -aoa -ttar -si 2021-03-02 00:30:30 ..... 266367 266752 aaaaaaaa.jpg 2021-08-23 08:38:44 ..... 54 512 md5sum.txt
パイプするときに、-ttar
でtar ファイルを明示しないといけない。めんどくさいですね。
取り出す
一覧が見れたら、取り出します。
7z -so x a.tgz | 7z x -oOUTPUT_DIR -aoa -ttar -si
ちょっと冗長ですよね。