Alternativen zum Entpacken über die Befehlszeile?

Ich habe festgestellt, dass das Befehlszeilentool unzipeinige der Dateien, die ich entpacke, nicht ordnungsgemäß handhabt: Es erstellt eine Reihe von Junk-Verzeichnissen und erstellt Dateien, deren Ressourcenzweige nicht gefunden werden. (Vielleicht wurden sie auf seltsame Weise erschaffen.)

$ unzip -d NEW-DIRECTORY ZIP

Wie auch immer, die Verwendung Archive Utilityist ein Anfang, da ich Folgendes ausführen kann und es in der Nähe ist (und meine Dateien nicht durcheinander bringt):

$ open -a "Archive Utility" ZIP

Aber das erlaubt mir nicht, ein neues Verzeichnis für den Inhalt anzugeben!! Es legt sie automatisch im aktuellen Verzeichnis ab. :P

Was sind meine Alternativen?

Antworten (7)

The Unarchiver hat eine Beta-Version seines Befehlszeilenprogramms auf seiner Download-Seite verfügbar .

+1 für Vorschläge unarohne Verwendung des Namens. ;)

"The Unarchiver" ist ein großartiges Tool, und ich kann es nur wärmstens empfehlen, sowohl die GUI- als auch die CLI-Tools.

Das heißt, mein unzipBefehl ist

ditto -xk foo.zip target_dir

wobei 'target_dir' das Verzeichnis ist, in dem die Dateien erscheinen sollen (und es kann '.' sein, wenn Sie möchten, dass sie direkt dort entpackt werden).

Beachten Sie, dass „target_dir“ bei Bedarf erstellt wird.

Beachten Sie auch, dass dittoes nichts dagegen hat, Dateien zu überschreiben, verwenden Sie es also mit Vorsicht.

ditto unter Mac OS X wurde entwickelt, um Ressourcenzweige usw. beizubehalten. Daher ist dies meine bevorzugte Methode zum Entpacken von Dateien, insbesondere weil es standardmäßig mit OS X geliefert wird.

Kann das nicht zum Laufen bringen.

Ich habe diese äußerst hilfreiche Antwort auf ein Problem gesehen, bei dem ich Anwendungen auf einem anderen Board von Benutzer patashnik entpackt hatte:

unzip behandelt nicht die eingebetteten Resourceforks in ZIP-Dateien, die vom Finder erstellt wurden. Wenn Sie diese Dateien von der CLI aus dem Archiv entfernen möchten, verwenden Sie dito:

ditto -V -x -k --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY

Wenn Sie das Archiv in das aktuelle Verzeichnis entpacken möchten, verwenden Sie . als ZIELVERZEICHNIS

7z kann mit einigen seltsam gezippten Dateien umgehen brew install p7zip 7z x weirdarchive.zip

Sie können auch verwenden:

Und

Springy ist ein sehr vielseitiger Unarchiver. Shareware - und es mir wert.

brew install unar

und dann:

unar foo.zip