¿Cómo agregar archivos y directorios a un archivo zip sin el directorio raíz?
-
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.
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 ..