このzipファイル内の他のzipファイルの内容をリストします。

このzipファイル内の他のzipファイルの内容をリストします。

zipファイルがあります。解凍せずに、このzipファイル内の他のzipファイルの内容を一覧表示したいと思います。どうすればいいですか?ただzipファイルであれば問題にはなりません。

unzip -p test.zip testfolder/README.md

答え1

コマンドはunzip標準入力から読み取ることができないので、簡単な方法はもちろん、一時ファイルを使用するシェルスクリプトを使用することです。

簡単な解決策で圧縮されたZIPファイルの名前がわかっている場合は、-pコマンドのオプションunzipと機能を使用して、他のZIPプログラムのSTDINからファイルの内容を読み取ることができます。システムにすでにBusyboxがインストールされている可能性が高いです。

unzip -p outside.zip inside.zip | busybox unzip -l -

たとえば、

$ for i in {0..9} ; do touch a/$i ; done
$ for i in {a..i} ; do touch b/$i ; done
$ zip -r b.zip b
$ zip -r a.zip a b.zip
$ unzip -p a.zip b.zip | busybox unzip -l -
Archive:  -
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  08-15-2022 08:47   b/
        0  08-15-2022 08:47   b/a
        0  08-15-2022 08:47   b/i
[…]

関連情報