É possível visualizar a lista de nomes de arquivos de um arquivo zip dentro de outro arquivo zip?

4

Eu sei que posso usar unzip -l file.zip para ver a lista de arquivos de um arquivo zip.

Mas tem um arquivo zip dentro de outro arquivo zip. Eu tentei unzip -l file.zip/sub_file.zip , mas falhei.

É possível visualizar a lista de arquivos do sub_file.zip sem extraí-lo?

    
por Zen 18.08.2014 / 04:46

3 respostas

2

Você pode usar less com script lesspipe de Wolfgang Friebel : less file.zip:sub_file.zip

    
por 18.08.2014 / 04:50
1

com zsh :

$ unzip -l a.zip.zip
Archive:  a.zip.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      195  2014-08-18 09:38   a.zip
---------                     -------
      195                     1 file

$ unzip -l =(unzip -p a.zip.zip a.zip)
Archive:  /tmp/zsh0i0JyZ
  Length      Date    Time    Name
---------  ---------- -----   ----
       55  2014-08-15 15:24   a
---------                     -------
       55                     1 file

=(...) é uma terceira forma de substituição de processo que usa um arquivo temporário em vez de um canal ( unzip só funciona com arquivos pesquisáveis).

    
por 18.08.2014 / 10:46
1

unzip -l file.zip/sub_file.zip não funciona porque file.zip não é um diretório: é um arquivo comum que está em um formato de arquivo. Mas você pode criar um diretório que espelhe o conteúdo do arquivo zip, montando um sistema de arquivos que apresente uma visão do conteúdo do arquivo zip. Existem várias opções, escolha o que for mais fácil de instalar na sua distribuição:

Por exemplo, com arquivemount:

mkdir file.d
archivemount file.zip file.d
unzip -l file.d/sub_file.zip
fusermount -u file.d

ou até mesmo

mkdir file.d sub_file.d
archivemount file.zip file.d
archivemount file.d/sub_file.zip sub_file.d
ls -lR sub_file.d
fusermount -u sub_file.d
fusermount -u file.d

Veja Extraia apenas um arquivo específico de um arquivo compactado para um determinado diretório , Como faço para recursivamente grep através de arquivos compactados? e Procure por arquivos com um tamanho específico dentro de arquivos zipados recursivos para exemplos de AVFS e fusível-zip em situações semelhantes.

    
por 19.08.2014 / 01:16