Questão Leia o conteúdo de um arquivo zipado sem extração?


Como posso ler o conteúdo de um determinado arquivo em um arquivo sem extrair o arquivo .zip dentro dele? Eu estou usando a linha de comando do Linux.

Um anterior questão pergunta sobre a visualização do diretório do arquivo. Mas para mim não é suficiente para ver apenas uma lista dos arquivos no arquivo, eu preciso ver o conteúdo de um arquivo no arquivo.


117


origem


Duplicidade com superuser.com/questions/216617/zip-linux-view-files-in-archive - pevik
@ fixer1234 (e outros): A questão ligada pergunta: "Como posso visualizar os arquivos em um arquivo ZIP?" AFAIC, é a mesma pergunta de "Como posso ver o conteúdo de um arquivo ...?" É lamentável que muitas das pessoas que responderam a essa pergunta interpretou como "Como posso ver o diretório do arquivo?" A resposta de Gilles (naturalmente) e A resposta de Rajasekhar Tolety (aparentemente) a essa pergunta, fornece-se a essa questão. - Scott
@ Scott, talvez devêssemos descobrir como mesclar as duas perguntas para que os dois tópicos sejam abordados em um ou reorientar o outro para claramente estar no diretório e, em seguida, mover as respostas entre os dois lugares para que correspondam às perguntas. Agora, ambos são uma mistura. - fixer1234
@ fixer1234: Eu concordo, até certo ponto. Os moderadores estão sempre nos dizendo que as duplicatas são boas, porque fornecem uma superfície maior de exposição aos mecanismos de pesquisa (ou seja, mais chances de uma pesquisa encontrar uma das perguntas). Mas há o problema: se um usuário encontrar 1 das perguntas, e a ligação não é óbvia (e ninguém observa as listas de perguntas "Vinculadas" e "Relacionadas" - pelo menos não seguidores aleatórios dos resultados de pesquisa), então o usuário encontrou apenas uma fração das respostas. DavidPostill deu o voto final para reabrir esta questão; talvez você devesse falar com ele. - Scott
@ Scott - Dado que o autor da pergunta marcou a resposta “Como posso ver o diretório do arquivo?” Como aceito, tenho que pensar que essa foi provavelmente a intenção da pergunta. É, infelizmente, formulado de forma ambígua de tal modo que poderia significar qualquer interpretação. - M. Justin


Respostas:


unzip -l archive.zip lista o conteúdo de um arquivo ZIP para garantir que seu arquivo esteja dentro.

Use o -c opção para gravar o conteúdo de arquivos nomeados para stdout (tela) sem ter que descompactar todo o arquivo.

unzip -c archive.zip file1.txt file2.txt | less

Para este tipo de operação eu sempre canalizo a saída para less, caso contrário, todo o arquivo vai voando na tela antes que você possa lê-lo.

O BTW zcat é ótimo para visualizar o conteúdo de arquivos .gz sem precisar descompactá-los primeiro.


159



Pelo menos no Ubuntu, menos é de alguma forma configurado para fazer isso por padrão - então less archive.zip realmente mostra a lista de arquivos. - aviv
bzcat para visualizar o conteúdo de arquivos bz2 sem ter que descompactá-los primeiro ... - Justin E
unzip -c também mostra o nome do arquivo e algumas mensagens extras (enviando-as para stdout). Usando -p em vez disso, envia apenas o arquivo em formato binário. Isso é mais útil para canalizar - Juan Calero
Com o seu $LESSOPEN definido para lesspipe, você pode apenas less foo.gz para ver o conteúdo descomprimido. (@aviv: é a mesma coisa que permite less foo.zip para canalizar unzip -l foo.zip em si mesmo). - Peter Cordes
unzip -c archive.zip '*' | less faz o que eu estava procurando: cat o conteúdo do arquivo zip. - Peter Cordes


zipinfo é outra ferramenta que você pode usar, isso é útil se você estiver em um sistema bloqueado onde unzip não é permitido.


4





Se você está apenas olhando para ver imagens dentro dos arquivos, você pode usar Comix ou mais recente MComix ver imagens dentro .zip, .rar, .cbre .cbz arquivos sem extrair.


4





Começar Emacs na linha de comando e abra seus arquivos zip com Zip-Archive modo. Sem qualquer ajuste do Emacs / elisp (novos usuários geralmente temem), você verá detalhes do arquivo como zipinfo: modos, comprimento, data, hora

Em seguida, você poderá abrir arquivos em buffers e até mesmo salvar suas alterações de volta ao arquivamento, com atalhos padrão:

  • Digite um nome de arquivo na lista para abri-lo
  • Edite e salve com Ctrl-x Ctrl-s
  • Kill buffer Ctrl-k para voltar ao buffer de arquivamento e continuar

Quando em Zip-Archive buffer, use Ctrl-h m para obter todos os atalhos disponíveis na Visualização da Ajuda.

Espero que isso possa levá-lo a descobrir os incríveis recursos do Emacs


1





Se o arquivo estiver incluído no arquivo zip, você precisará extrair apenas esse arquivo do arquivo (pode depender do tipo de arquivo, alguns arquivos não podem extrair arquivos separadamente)


-1



Sim, mas você pode extrair para stdout e pipe diretamente em um pager. - Peter Cordes
Esta não é uma resposta técnica, é mais provável de um político ou um advogado. Por favor seja mais específico! (mostre o comando por exemplo) - Hola Soy Edu Feliz Navidad