Entpacken Sie, wie Top-Verzeichnisse zugeschnitten werden

13

Ich habe ein Zip-Archiv. Der unzip -l myarchive.zipBefehl gibt diese Auflistung:

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc

Die Stammordner sind für alle Dateien top / subtop. Wie extrahiere ich diese Dateien ohne die beiden Ordner top / subtop?

Zum Beispiel , wenn ich bin in / home / myuser / public_html Verzeichnis, files/1.txtund files2/2.txtshoud direkt in das Verzeichnis extrahiert werden.

Ich habe versucht, unzip myarchive.zip top/subtop/*aber es erstellt Top / Subtop-Verzeichnisse trotzdem.

camcam
quelle

Antworten:

8

Das kannst du leider nicht. Ihre einzige echte Option besteht darin, sie erst zu verschieben, nachdem sie extrahiert wurden.

Sepero
quelle
Hmm, gut zu wissen. Ich habe dies gefragt, weil vor einigen Tagen beim Erstellen eines Archivs ungewollt Pfade von oben hinzugefügt wurden. Es gab also ein Problem beim Entpacken aufgrund der zusätzlichen oberen Pfade. Allerdings kann ich nicht das heute wiederholen - heute funktioniert es ok, das heißt , wenn in oben / subtop Verzeichnis und tun zip -r files.zip * es ist nicht die Spitze / subtop Pfad als Präfix Dateien Pfad hinzufügen. Ich denke, ich mache genau den gleichen Befehl, aber seltsamerweise sind die Ergebnisse unterschiedlich, so dass es nicht notwendig ist, die obersten Verzeichnisse beim Entpacken zu entfernen.
Camcam
Beachten Sie, dass es möglich ist, alle Verzeichnisse zu ignorieren (indem Sie einfach alle Dateien nebeneinander platzieren) unzip -j.
Skylar Ittner
4

Möglicherweise möchten Sie den tarBefehl ausprobieren , der über eine --strip-componentsFunktion verfügt und mit ZIP-Dateien arbeiten kann.

Eamon
quelle
2
Funktioniert nicht mit Teer (GNU Teer) 1.15.1:tar: This does not look like a tar archive tar: Error exit delayed from previous errors
Kevin Panko
2
FreeBSDs tar kann ZIP-Archive verarbeiten. Andere tar-Implementierungen sind leider nicht so voll funktionsfähig.
Mikhail T.
1
Für Debian-Benutzer steht FreeBSDs tar als bsdtar (apt-get install bsdtar) zur Verfügung, wenn Sie tar zum Extrahieren von ZIP-Dateien verwenden möchten.
Niklas B
-2
$ unzip -l myarchive.zip
$ mv top/subtop/* .

#kissPrinciple;)

Romain DEQUIDT
quelle