Come aggiungere file e directory a un file zip senza la directory principale?
-
06-07-2019 - |
Domanda
Il programma di utilità zip, se richiamato come zip -r out.zip base / *
su questa struttura di directory
.
./base
./base/b
./base/b/c
./base/d
crea il seguente risultato
adding: base/b/ (stored 0%)
adding: base/b/c (stored 0%)
adding: base/d (stored 0%)
Vorrei ottenere un file contenente dati dal seguente output
adding: b/ (stored 0%)
adding: b/c (stored 0%)
adding: d (stored 0%)
Mi aspettavo che l'opzione -j mi aiutasse, ma non lo fa: appiattisce completamente la struttura della directory. Al momento, l'unica soluzione che ho trovato è di cd in base e invocare zip da qui, ma mi chiedevo se c'è un interruttore che non riesco a riconoscere come tale nei documenti.
Soluzione
Comprendo che non vuoi cd
, ma ...
Se tutto il resto fallisce e si spera di mantenere la chiamata in modo da comprimersi su una linea, è possibile concatenare le chiamate e utilizzare un percorso relativo per generare zip nella radice:
Per Windows:
cd base & amp; zip -r .. \ out.zip * & amp; cd ..
Per Linux / Unix:
cd base; zip -r ../out.zip *; cd ..