Как исследовать вложенный zip без выписки?

460
Alessandro C

В bash я использую unzip -lдля того, чтобы показать содержимое zip без распаковки его содержимого.

Мой вопрос: какую команду мне использовать, если у меня есть вложенные zip-файлы, и я хочу также изучить содержимое вложенных zip-файлов внутри?

Пример:

file1.zip | | ----- textfile.txt ----- file2.zip 

Как сделать unzip -l для file2.zip без извлечения файла file1.zip и file2.zip?

2
Пробовал zipinfo -1 file1.zip, но он печатает так же, как unzip -l file1.zip Alessandro C 6 лет назад 0

2 ответа на вопрос

1
Zhenhir

Я не думаю, что это стандартное поведение любой из распространенных утилит bash zip. Вы должны предварительно извлечь zip, но вы можете создать скрипт, который извлечет только zip внутри корня file1.zip, вызывается unzip -lи затем убрал за собой:

#!/bin/bash  unzip -l file1.zip  for f in $(unzip -Z1 file1.zip); do if [ $ == ".zip" ] then unzip -q -d . file1.zip $f unzip -l $f rm $f fi done; 

Выход:

Archive: file1.zip Length Date Time Name --------- ---------- ----- ---- 312 2018-05-04 00:52 file2.zip 0 2018-05-04 00:52 textfile.txt --------- ------- 312 2 files Archive: file2.zip Length Date Time Name --------- ---------- ----- ---- 0 2018-05-04 00:22 file2 0 2018-05-04 00:52 textfile.txt --------- ------- 0 2 files 
0
user930412

Оформите эту Java-утилиту nzip для вложенных почтовых индексов . Извлечение и сжатие вложенных почтовых индексов может быть легко сделано с помощью следующих команд. Команда list должна быть полезной для вас:

java -jar nzip.jar -c list -s readme.zip  java -jar nzip.jar -c extract -s "C:\project\readme.zip" -t readme  java -jar nzip.jar -c compress -s readme -t "C:\project\readme.zip"