Como extrair apenas uma pasta específica de um arquivo zipado para um determinado diretório?

48

Como extrair uma pasta específica de um arquivo zipado para um determinado diretório?

Eu tentei usar

unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"

mas isso apenas cria a pasta no caminho que eu quero descompactar e não faz mais nada.

    
por Enkouyami 24.12.2012 / 03:12

3 respostas

49
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path> 

funciona bem no EL 6

    
por 14.02.2014 / 18:50
38

Tente:

unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
    
por 24.12.2012 / 06:53
4

As duas respostas existentes estão corretas, mas é um pouco complicado especificar o diretório de destino, que deve ser melhor esclarecido.

Digamos que /target/root/ é o destino da ação de descompactação original, por exemplo:

unzip -qq src.zip -d "/target/root/"

Em seguida, precisamos usar o mesmo /target/root/ como o diretório de destino depois, mesmo que desejemos extrair apenas um subdiretório específico, como o modo como o unzip funciona:

unzip -qq src.zip "sub/dir/*" "/target/root/"

Afinal, a regra é realmente simples, use o mesmo diretório raiz de destino para a opção -d .

BTW, a opção -qq é para que o descompactar seja realmente silencioso, sinta-se à vontade para removê-lo.

    
por 03.08.2017 / 03:04

Tags