
Los archivos ZIP producidos en sistemas Mac OS X normalmente incluyen un __MACOSX
directorio 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 unzip
siempre y automáticamente la extracción de cualquier __MACOSX
directorio que pueda estar presente?
Según la unzip
página de manual, la -x
opción se puede utilizar para excluir directorios del procesamiento y, de hecho, agregarla -x __MACOSX/*
al final de mi unzip
lí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 UNZIP
variable de entorno, pero aparentemente esto funciona sólo para aquellas opciones que vienenantesel nombre del archivo (mientras que -x
debe 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 unzip
un 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