¿Cómo agregar archivos y directorios a un archivo zip sin el directorio raíz?

StackOverflow https://stackoverflow.com/questions/1009501

  •  06-07-2019
  •  | 
  •  

Pregunta

El programa de utilidad zip, cuando se invoca como zip -r out.zip base / * en esta estructura de directorio

.
./base
./base/b
./base/b/c
./base/d

crea el siguiente resultado

  adding: base/b/ (stored 0%)
  adding: base/b/c (stored 0%)
  adding: base/d (stored 0%)

Me gustaría obtener un archivo que contenga datos a partir del siguiente resultado

  adding: b/ (stored 0%)
  adding: b/c (stored 0%)
  adding: d (stored 0%)

Esperaba que la opción -j me ayudara, pero no es así: aplana completamente la estructura del directorio. Por el momento, la única solución que encontré es crear un CD en la base e invocar zip desde aquí, pero me preguntaba si hay un interruptor de potencia que no reconozco como tal en los documentos.

¿Fue útil?

Solución

Entiendo que no desea cd , pero ...

Si todo lo demás falla y espera mantener su llamada para reducir a una línea, puede encadenar las llamadas y usar una ruta relativa para generar zip en la raíz:

Para Windows:

cd base & amp; zip -r .. \ out.zip * & amp; cd ..

Para Linux / Unix:

base de cd; zip -r ../out.zip *; cd ..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top