
Tengo un archivo zip. El unzip -l myarchive.zip
comando da esta lista:
top/subtop/files/1.txt
top/subtop/files2/2.txt
etc
Las carpetas raíz son superiores/subsuperiores para todos los archivos. ¿Cómo extraer esos archivos sin las dos carpetas superior/subsuperior?
Por ejemplo, cuando estoy en el directorio /home/myuser/public_html files/1.txt
y files2/2.txt
debo extraerlo directamente a ese directorio.
Lo intenté unzip myarchive.zip top/subtop/*
pero de todos modos creó directorios superior/subprincipal.
Respuesta1
Desafortunadamente, no puedes. Su única opción real es simplemente moverlos después de extraerlos.
Respuesta2
Quizás quieras probar el tar
comando, que tiene una --strip-components
función y puede operar en archivos zip.
Respuesta3
Usando JMeter como ejemplo:
# 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
Sencillo y portátil.
Respuesta4
Utilicé este comando para copiar todos los archivos a mi directorio raíz después de extraer todos los archivos comprimidos, funcionó muy bien. Gran ahorro de tiempo:
for /r %f in (00P*) do @copy "%f"
(http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/)