descomprimir cómo recortar directorios principales

descomprimir cómo recortar directorios principales

Tengo un archivo zip. El unzip -l myarchive.zipcomando 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.txty files2/2.txtdebo 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 tarcomando, que tiene una --strip-componentsfunció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/)

información relacionada