15 votes

unzip how to trim top directories

J'ai une archive zip. Le site unzip -l myarchive.zip donne cette liste :

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

Les dossiers racine sont supérieurs/sous-supérieurs pour tous les fichiers. Comment extraire ces fichiers sans les deux dossiers supérieurs/sous-supérieurs ?

Par exemple, lorsque je suis dans le répertoire /home/myuser/public_html, files/1.txt y files2/2.txt doit être extrait directement dans ce répertoire.

J'ai essayé unzip myarchive.zip top/subtop/* mais il a créé des répertoires top/subtop de toute façon.

12voto

Sepero Points 266

Malheureusement, vous ne pouvez pas. Votre seule véritable option est de les déplacer après leur extraction.

6voto

Eamon Points 61

Vous pouvez essayer le tar qui a une --strip-components et peut fonctionner sur des fichiers zip.

1voto

flipcode Points 111

En utilisant JMeter comme exemple :

# 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

Simple et portable.

-1voto

Romain DEQUIDT Points 111
$ unzip myarchive.zip
$ mv top/subtop/* .

-3voto

Kevin Points 1

J'ai utilisé cette commande pour copier tous les fichiers dans mon répertoire de fichiers racine après avoir extrait tous les fichiers zippés, cela a très bien fonctionné. Un énorme gain de temps :

for /r %f in (00P*) do @copy "%f" 

( http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/ )

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X