Descubrí que la unzip
herramienta de línea de comandos no maneja correctamente algunos de los archivos que estoy descomprimiendo: crea un montón de directorios basura y crea archivos cuyas bifurcaciones de recursos no se encuentran. (Quizás fueron creados de manera extraña).
$ unzip -d NEW-DIRECTORY ZIP
De todos modos, usar Archive Utility
es un comienzo, porque puedo ejecutar lo siguiente y está cerca (y no estropea mis archivos):
$ open -a "Archive Utility" ZIP
¡Pero esto no me permite especificar un nuevo directorio para los contenidos! Automáticamente los coloca en el directorio actual. :PAG
¿Cuáles son mis alternativas?
The Unarchiver tiene una versión beta de su utilidad de línea de comandos disponible en su página de descargas .
"The Unarchiver" es una gran herramienta, y la recomiendo mucho, tanto la GUI como la CLI.
Dicho esto, mi unzip
comando es
ditto -xk foo.zip target_dir
donde 'target_dir' es el directorio donde quiero que aparezcan los archivos (y puede ser '.' si quiere que se descompriman allí mismo).
Tenga en cuenta que se creará 'target_dir' si es necesario.
También tenga en cuenta que ditto
no le importa sobrescribir archivos, así que utilícelo con cuidado.
ditto en Mac OS X está diseñado para preservar las bifurcaciones de recursos, etc., por lo que es mi método preferido para descomprimir archivos, especialmente porque viene con OS X de forma predeterminada.
Vi esta respuesta extremadamente útil a un problema que tenía al descomprimir aplicaciones en otra placa del usuario patashnik:
unzip no maneja las horquillas de recursos integradas en los archivos ZIP creados por Finder. Si desea desarchivar esos archivos de la CLI, use lo mismo:
ditto -V -x -k --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
Si desea descomprimir el archivo en el directorio actual, use . como DIRECTORIO DE DESTINO
7z puede manejar algunos archivos comprimidos extrañamente brew install p7zip 7z x weirdarchive.zip
Springy es un desarchivador muy versátil. Shareware - y vale la pena para mí.
brew install unar
y luego:
unar foo.zip
ocodó
unar
sin usar su nombre. ;)