Abhängig davon, wie eine Zip-Datei erstellt wird, werden manchmal alle Dateien direkt extrahiert, und manchmal werden die Dateien in ein Unterverzeichnis extrahiert.
Wenn letzteres zutrifft, wie kann ich den unzip
Befehl erzwingen , dieses Verzeichnis der ersten Ebene zu "ignorieren"?
Beispiel:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Was ich bekomme ist /tmp/omeka/omeka-1.5.1/
:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Was ich will, ist von den Dateien extrahiert /tmp/omeka/
, (eine Ebene höher und keine Versionsnummer in der Verzeichnisstruktur enthalten)
/tmp/omeka/(files)
Ich weiß, dass ich die -j
Option "Junk-Pfade" verwenden kann, aber ich möchte die Unterverzeichnisstruktur beibehalten, nur nicht die Verzeichnisstruktur der obersten Ebene. Wie kann ich das machen?
/wordpress/
Verzeichnis (keine Versionsnummer) in der Zip-Datei legt . Es ist in der Tat in Ordnung unzip
und dann, mv
aber keine Kontrolle darüber zu haben und es in zwei Schritten tun zu müssen, hat mich immer ein wenig auf die Nerven gebracht. Zum Glück kommt Wordpress auch in einer .tar.gz
Geschmacksrichtung :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
die Dateien extrahieren und dann , aber ich wollte sehen, ob es eine Möglichkeit gibt, dies direkt mit dem Befehl