Compactar arquivos zip com maior compactação

8

Eu tenho um grande número de arquivos zip que foram compactados usando o comando zip. Eu gostaria de recomprimi-los com o sinalizador -9 para melhorar a taxa de compactação. Alguém sabe se isso pode ser feito sem descompactação manual e, em seguida, compactando.

PS. Eu preciso mantê-los como arquivos zip desde que eles são servidos para usuários do Windows (e, como tal, têm espaços em branco em seus nomes)

    
por Smartelf 19.02.2014 / 17:56

2 respostas

9

Você não pode melhorar a taxa de compactação, sem descompactar os dados. Você não precisa extrair todos os arquivos zip antes de compactá-los, mas eu recomendaria descompactar um arquivo zip inteiro antes de comprimir novamente.

É possível recompactar os arquivos em um arquivo zip um de cada vez e adicioná-los novamente antes de ir para o próximo arquivo contido no arquivo zip. Isso requer N reescreve o arquivo zip para um arquivo zip contendo N arquivos. É muito mais eficiente extrair os N arquivos e gerar o novo zipfile de uma só vez, compactando todos os arquivos com -9 .

    
por 19.02.2014 / 19:02
2

Existe um utilitário chamado AdvanceCOMP que faz exatamente o que você está procurando. Ele recompacta arquivos ZIP e GZ (e alguns outros) sem extração intermediária para o disco. (Acredito que o mecanismo usado é descompactar os dados e recompactá-los, mas isso não requer a gravação de arquivos em disco ou a geração de metadados.)

    
por 27.05.2014 / 15:58