Suprimir a extração do diretório __MACOSX ao descompactar

Suprimir a extração do diretório __MACOSX ao descompactar

Os arquivos ZIP produzidos em sistemas Mac OS X geralmente incluem um __MACOSXdiretó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 unzipsuprimam sempre e automaticamente a extração de qualquer __MACOSXdiretório que possa estar presente?

De acordo com a unzippágina de manual, a -xopção pode ser usada para excluir diretórios do processamento e, de fato, adicionar -x __MACOSX/*ao final da minha unziplinha 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 UNZIPvariável de ambiente, mas aparentemente isso funciona apenas para as opções que vêmanteso nome do arquivo (considerando que -xdeve 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 unzipum 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

informação relacionada