Alternative alla riga di comando unzip?
Domanda
Ho scoperto che lo strumento unzip
riga di comando non gestisce con garbo alcuni dei file che sto decompressione: si fa un mucchio di spazzatura directory, e crea i file i cui resource fork non si trovano. (Forse sono stati creati in modo strano.)
$ unzip -d NEW-DIRECTORY ZIP
In ogni modo, utilizzando Archive Utility
è un inizio, perché posso eseguire il seguente ed è vicino (e non lo fa rovinare i miei file):
$ open -a "Archive Utility" ZIP
Ma questo non mi permette di specificare una nuova directory per i contenuti !! E li mette automaticamente nella directory corrente. : P
Quali sono le mie alternative?
Soluzione
The Unarchiver ha una versione beta della loro utilità a riga di comando disponibile sul loro downloads pagina .
Altri suggerimenti
"The Unarchiver" è un grande strumento, e lo consiglio vivamente, sia l'interfaccia grafica e gli strumenti CLI.
Detto questo, il mio comando unzip
è
ditto -xk foo.zip target_dir
dove 'target_dir' è la directory in cui voglio che i file di apparire (e può essere '' Se si desidera loro di decomprimere proprio lì).
Si noti che 'target_dir' verrà creata, se necessario.
Si noti inoltre che ditto
non disdegna sovrascrivere i file, in modo da utilizzare con attenzione.
idem su Mac OS X è stato progettato per preservare la resource fork, ecc quindi è il mio metodo preferito di file unzipping, soprattutto perché viene fornito con OS X per impostazione predefinita.
I saw this extremely helpful answer to a problem I was having unzipping applications on another board from user patashnik:
unzip doesn't handle the embedded resourceforks in ZIP files created by the Finder. If you want to unarchive those files from the CLI, use ditto:
ditto -V -x -k --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
If you want to unpack the archive in the current directory, use . as DESTINATIONDIRECTORY
7z can handle some oddly zipped files
brew install p7zip
7z x weirdarchive.zip
Springy is a very versatile unarchiver. Shareware - and worth it to me.
brew install unar
and then:
unar foo.zip