Minha versão de unzip
tem uma opção -j
para não criar nenhum diretório.
Então
unzip -j /path/to/file.zip
Extrairá todos os arquivos no diretório atual sem restaurar a estrutura de diretórios armazenada no arquivo zip
.
Se você quiser remover apenas um nível de diretórios do arquivamento, (extrair myarchive/dir/file
como dir/file
, não file
), poderá usar bsdtar
(que suporta arquivos zip
além de tar
files) e sua opção -s
.
bsdtar -xf /path/to/file.zip -s'|[^/]*/||'