Questão Ver lista de arquivos no arquivo ZIP no Linux


Como posso visualizar a lista de arquivos em um arquivo ZIP sem descompactá-lo?


310


origem


É possível fazer o mesmo para um arquivo UNIX comum? (tar / gzip / bz2 / etc) - ThorSummoner
tar tvf. se .gz, adicione um z. Para bz2, adicione j. Muito mais, verifique a página do manual. - UtahJarhead


Respostas:


o less utilitário é capaz de espreitar em um zip arquivo. De fato, se você olhar para as saídas de unzip -l zipfile e less zipfile, você vai achar que eles sejam idênticos.


367



Observe que less zipfile no MacOS-X exibe o filecontent binário, então você vê muito lixo ao invés do conteúdo do arquivo zip. Então você deve optar pelo `` ùnzip -l zipfile``` - heiglandreas
@ayaz Em que sistema menos lista zipfiles? Eu vejo comentários dizendo que ele não funciona no MAC, Ubuntu e aqui eu uso o Debian. O Debian também mostra lixo binário. - Dr Beco
No Ubuntu, tente view [zipfile]. - Samuel Lampa
ERRADO. unzip -l funciona bem para mostrar os arquivos dentro de um arquivo zip, mas menos dá conteúdo binário em muitos casos e isso é uma bagunça, é claro. - Arturas M
Você precisa do lesspipe Ajudante instalado para ativar o suporte ao arquivo zip por menos. É padrão em muitos sistemas Linux, mas não no OSX, mas você pode instalá-lo com brew. - pimlottc


Experimentar unzip -l files.zip | less

Veja também man unzip para mais opções


82



Você pode pular o tubo para less comando. É uma ótima idéia em uma grande coleção de arquivos, no entanto. - omar


Para listar o conteúdo do zip:

zipinfo -1 myzipfile.zip

Para saída detalhada:

zipinfo myzipfile.zip

46



Boa resposta, você não precisa analisar a saída apenas para obter nomes de arquivos. - Antoine Pelisse


Por favor, use

vim ZIP_FILE_NAME

para o mesmo. Isto é simples e fácil de lembrar.


24



Bom, isso também permite abrir arquivos individuais no arquivo sem fazer o unzip - user3885927


Você pode fazer o zip aparecer como um diretório (no qual você usa cd, ls, etc.) montando-o com o zíper de fusível sistema de arquivos virtual.

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

Outro relevante FUSÍVEL sistema de arquivos é AVFS. Ele cria uma visão de toda a sua hierarquia de diretórios onde todos os arquivos possuem um diretório associado (mesmo nome com # colada no final) que parece conter o conteúdo do arquivo.

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs

Muitos gerenciadores de arquivos modernos (por exemplo, Nautilus, Dolphin) mostram o conteúdo do arquivo de forma transparente.

O AVFS é somente leitura. Fuse-zip é leitura-gravação, mas tenha cuidado que as alterações são gravadas apenas no arquivo zip no momento da desmontagem, portanto, não comece a ler o arquivo esperando que ele seja modificado até fusermount -u retorna.


9



Nice, Giles. Obrigado. Apenas um rápido: pode-se adicionar arquivos para ele, apenas "cp" ing para o diretório? - Dr Beco
@DrBeco Com zíper de fusível, sim. Com avfs, não. - Gilles


Pelo menos no Ubuntu, o comando possivelmente mais fácil é:

view [zipfile]

Isto irá abrir a listagem de arquivos em seu editor de texto padrão (nano, vim etc).


6





É realmente unzip -l file.zip | grep "search" ou se você tem muitos arquivos

for i in `ls *zip`; do 
  unzip -l $i | grep "search"; 
done

Atualização: Alterado de '-p' para '-l' para procurar arquivos.


1





Se você estiver mais orientado graficamente, o Midnight Commander também pode navegar em arquivos zip como se fossem diretórios comuns.


1