それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

7z で tar.gz/tgz からファイルを取り出す

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

ちょっと冗長ですよね。