Incluir diretórios vazios no arquivo zip com o Linux

4

Estou tentando compactar um diretório em um linux usando o seguinte comando:

zip -r file.zip .

Isso funciona, mas não inclui os diretórios vazios que desejo incluir no arquivo zip. Como posso conseguir que eles sejam incluídos?

    
por Calvin 11.01.2011 / 17:03

2 respostas

4

A resposta que você mais procura é:

zip -r file.zip . -i \*

Você recebe um aviso ao compactar uma pasta vazia, mas, novamente, a solução é independente do tamanho de sua função. Funciona para diretórios vazios e não vazios.

Esta solução funciona no sentido relativo, ao contrário das soluções que usam $ PWD como

zip -r file.zip $PWD

que comprimirá toda a estrutura de pastas.

    
por 15.11.2012 / 00:02
2

Qual versão do zip você está usando? Eu tenho:

$ zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

E se eu criar alguns diretórios:

$ mkdir -p a/{b1,b2}

E, em seguida, crie um arquivo zip:

$ zip -r file.zip .
adding: a/ (stored 0%)
adding: a/b1/ (stored 0%)
adding: a/b2/ (stored 0%)

O arquivo resultante parece ter os diretórios vazios:

$ unzip -l file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-11-2011 11:54   a/
        0  01-11-2011 11:55   a/b1/
        0  01-11-2011 11:54   a/b2/
---------                     -------
        0                     3 files
    
por 11.01.2011 / 17:56