
Ich habe ein Zip-Archiv. Der unzip -l myarchive.zip
Befehl gibt diese Auflistung aus:
top/subtop/files/1.txt
top/subtop/files2/2.txt
etc
Die Stammordner sind für alle Dateien die obersten/untersten Ordner. Wie entpacke ich diese Dateien ohne die beiden obersten/untersten Ordner?
Z. B. wenn ich mich im Verzeichnis /home/myuser/public_html befinde files/1.txt
und files2/2.txt
direkt in dieses Verzeichnis extrahiert werden soll.
Ich habe es versucht unzip myarchive.zip top/subtop/*
, aber es wurden trotzdem Top-/Subtop-Verzeichnisse erstellt.
Antwort1
Leider ist das nicht möglich. Ihre einzige echte Möglichkeit besteht darin, sie nach dem Extrahieren einfach zu verschieben.
Antwort2
tar
Vielleicht möchten Sie den Befehl ausprobieren , der über eine --strip-components
Funktion verfügt und mit ZIP-Dateien arbeiten kann.
Antwort3
Am Beispiel von JMeter:
# It's a good idea to set JMETER_HOME.
export JMETER_HOME=/usr/local/jmeter
unzip -q /tmp/apache-jmeter-5.4.1.zip -d $JMETER_HOME
for a in `ls -d -1 $JMETER_HOME/*`; do mv $a/* $JMETER_HOME; rmdir $a; done
Einfach und tragbar.
Antwort4
Ich habe diesen Befehl verwendet, um alle Dateien in mein Stammdateiverzeichnis zu kopieren, nachdem ich alle komprimierten Dateien extrahiert hatte. Das hat super funktioniert. Riesige Zeitersparnis:
for /r %f in (00P*) do @copy "%f"
(http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/)