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.

È stato utile?

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 ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top