Passwortgeschütztes Zip-Archiv mit Umlauten öffnen

Der Jan

Stechapfel
Registriert
27.08.04
Beiträge
160
Moin,

ich hoffe ihr könnt mir helfen:
Meine Uni verteilt die Unterlagen zu meinen Vorlesungen als passwortgeschützte ZIP-Archive. Leider stellt sich unzip quer, wenn die gepackten Dateien mit einem Umlaut anfangen.

Code:
$ unzip UE_1_Clusteranalyse.zip 
Archive:  UE_1_Clusteranalyse.zip
[UE_1_Clusteranalyse.zip] ?bung_1-Clusteranalyse.pdf password: 
error:  cannot create ?bung_1-Clusteranalyse.pdf
error:  cannot create ?bung_1-Datensatz_Clusteranalyse.xls

Zipinfo liefert mir folgendes:
Code:
$ zipinfo UE_1_Clusteranalyse.zip 
Archive:  UE_1_Clusteranalyse.zip   815377 bytes   2 files
-rw-a--     2.0 fat  1058904 B- defN  2-May-07 23:03 ?bung_1-Clusteranalyse.pdf
-rw-a--     2.0 fat    19968 B- defN  2-May-07 23:03 ?bung_1-Datensatz_Clusteranalyse.xls
2 files, 1078872 bytes uncompressed, 815055 bytes compressed:  24.5%

Das Terminal wurde schon die entsprechenden Einträge in die .inputrc "umlaut-fähig" gemacht. Ausdauerndes "googlen" führte leider zu keinem Erfolg und auch Versiontracker brachte mich nicht weiter, da die meisten Programme dort nur grafische Oberflächen für unzip zu sein scheinen.
Und Stuffit hat bisher bei keinem meiner Macs funktioniert.

Ich hoffe einer unter euch hat die zündende Idee.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Ich hoffe einer unter euch hat die zündende Idee.
Ja. Aber da ich mich momentan ohne Mac rumschlagen muss (bitte keine Fragen...) und daher absolut nichts nachschlagen kann, kann ich dir leider nur etwas abstrakt auf den Weg helfen. Vielleicht genügt dir das ja.
Das Problem liegt nicht am Terminal, sondern allein bei unzip.
Das hat nämlich bis heute noch nicht gelernt, dass Dateinamen in ISO Latin-1 ein antiker Schwachfug sind. Da musst du selbst Hand anlegen, wenn du das mitgelieferte "infozip" verwenden musst.
Dazu kannst du dir einen Encoding-Filter aus dem X11 Paket borgen. Das Teil heisst "luit". (müsste unter /usr/X11R6/bin/ liegen) Notfalls nachinstallieren (Tiger DVD).
Das Dingens kann den ISO Output von infozip in Shelltaugliches UTF-8 umsetzen und lässt sich schön als Filter in einer Pipe benutzen (also stdin/stdout, aber die Manpage dazu habe ich jetzt echt nicht im Kopf, die Option darfst du selbst raussuchen... :) ).

Du musst also folgendes tun:
Benutze "unzip -Z -1 archiv.zip" um ein Listing in Kurzform zu ziehen. Das kommt in ISO Latin-1 heraus weil das das native Format von PKZIP war.
Diese Liste jagst du durch luit und bekommst UTF-8 Namen.
(Mit LC_ALL=C oder POSIX sollte das auf Anhieb passen.)
Anschliessend baust du daraus eine evtl Ordnerstruktur selber auf (mkdir, basename usw.)
und dann extrahierst du (im Binärmodus) selektiv Datei für Datei über stdout, also nach dem Schema:
Code:
unzip -pb Archiv.zip Datei.iso_name > Datei.utf_name
Hilft dir dieser Blitzaufriss weiter oder brauchst du was "fertiges"?
(Dann musst du dich leider ein paar Tage gedulden, bis hier wieder alles läuft wie gewohnt)

Ich würde aber doch lieber einfach mal den StuffIt Expander versuchen, wenn ich du wäre... :)
 

Der Jan

Stechapfel
Registriert
27.08.04
Beiträge
160
Besten Dank für die Hilfe.
Hat etwas gedauert bis ich durch die man-pages war. Ich weiß zwar nicht mehr wie ich es genau gemacht habe, aber irgendwann lagen die Dateien im Ordner.

Stuffit hält bei mir leider immer nur ein paar Wochen durch, dann hängt es nur noch und liefert nur noch Datenmüll. Bin da nicht der einzige.