Como posso ler o conteúdo de um arquivo específico em um arquivo sem extrair o .zip que ele contém? Estou usando a linha de comando do Linux.
Um anteriorperguntapergunta sobre como visualizar o diretório do arquivo. Mas para mim não basta ver apenas uma lista dos arquivos no arquivo, preciso ver o conteúdo de um arquivo no arquivo.
Responder1
unzip -l archive.zip
lista o conteúdo de um arquivo ZIP para garantir que seu arquivo esteja dentro dele.
Use a -p
opção de gravar o conteúdo dos arquivos nomeados em stdout (tela) sem precisar descompactar o arquivo inteiro.
unzip -p archive.zip file1.txt | less
Para esse tipo de operação eu sempre canalizo a saída para less
, caso contrário o arquivo inteiro vai voar pela tela antes que você possa lê-lo.
A propósito, o zcat é ótimo para visualizar o conteúdo de arquivos .gz sem precisar descompactá-los primeiro.
Editar:Alterei esta resposta para usar -p
em vez de -c
. -p
extrai o arquivo byte por byte, enquanto -c
imprime o nome do arquivo e pode fazer a conversão EOL. Além disso, unzip -p
permite extrair vários arquivos, mas não é gerado na ordem indicada cat
.
Responder2
Responder3
zipinfo
é outra ferramenta que você pode usar, é útil se você estiver em um sistema bloqueado onde unzip
não é permitido.
Responder4
Comece Emacs
na linha de comando e abra seus arquivos zip com Zip-Archive
mode. Sem qualquer ajuste do Emacs/elisp (novos usuários geralmente temem), você verá detalhes do arquivo como from zipinfo
: modos, duração, data, hora
Então, você poderá abrir arquivos em buffers e até mesmo salvar suas alterações no arquivo, 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 arquivo e continuar
Quando estiver no Zip-Archive
buffer, use Ctrl-h m
para obter todos os atalhos disponíveis na Visualização de Ajuda.
Espero que isso possa levar você a descobrir recursos incríveis do Emacs