unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>
funciona bem no EL 6
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.
Tente:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
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.
Tags zip