Suprimir la extracción del directorio __MACOSX al descomprimir

Suprimir la extracción del directorio __MACOSX al descomprimir

Los archivos ZIP producidos en sistemas Mac OS X normalmente incluyen un __MACOSXdirectorio que esinútil, molesto y no deseadoen casi todos los demás sistemas operativos.

Para descomprimir archivos ZIP utilizoInformación-ZIP, que creo que es el descompresor predeterminado en la mayoría de las distribuciones de Linux. ¿Cuál es la mejor manera de que Info-ZIP suprima unzipsiempre y automáticamente la extracción de cualquier __MACOSXdirectorio que pueda estar presente?

Según la unzippágina de manual, la -xopción se puede utilizar para excluir directorios del procesamiento y, de hecho, agregarla -x __MACOSX/*al final de mi unziplínea de comando es suficiente. Pero no quiero tener que escribir esto todo el tiempo. La página de manual también dice que las opciones de la línea de comandos se pueden leer desde la UNZIPvariable de entorno, pero aparentemente esto funciona sólo para aquellas opciones que vienenantesel nombre del archivo (mientras que -xdebe ir después de él):

$ export UNZIP="-x __MACOSX/*"
$ unzip foo.zip
unzip:  cannot find or open __MACOSX, __MACOSX.zip or __MACOSX.ZIP.

¿Existe alguna solución mejor que incluir unzipun script de shell que se agrega automáticamente -x __MACOSX/*al final de la línea de comando?

Respuesta1

Utilice una función de shell:

myunzip() {
    unzip "$@" -x '__MACOSX/*'
}

myunzip foo.zip

información relacionada