
Os arquivos ZIP produzidos em sistemas Mac OS X geralmente incluem um __MACOSX
diretório que éinútil, irritante e indesejadoem praticamente todos os outros sistemas operacionais.
Para descompactar arquivos ZIP eu usoInformações-ZIP, que considero o descompactador padrão na maioria das distribuições Linux. Qual a melhor forma de fazer com que os Info-ZIP unzip
suprimam sempre e automaticamente a extração de qualquer __MACOSX
diretório que possa estar presente?
De acordo com a unzip
página de manual, a -x
opção pode ser usada para excluir diretórios do processamento e, de fato, adicionar -x __MACOSX/*
ao final da minha unzip
linha de comando resolve. Mas não quero ter que digitar isso o tempo todo. A página man também diz que as opções da linha de comando podem ser lidas a partir da UNZIP
variável de ambiente, mas aparentemente isso funciona apenas para as opções que vêmanteso nome do arquivo (considerando que -x
deve vir depois dele):
$ export UNZIP="-x __MACOSX/*"
$ unzip foo.zip
unzip: cannot find or open __MACOSX, __MACOSX.zip or __MACOSX.ZIP.
Existe alguma solução melhor do que agrupar unzip
um script de shell que é adicionado automaticamente -x __MACOSX/*
ao final da linha de comando?
Responder1
Use uma função shell:
myunzip() {
unzip "$@" -x '__MACOSX/*'
}
myunzip foo.zip