Wie Dateien und Verzeichnisse zu einer ZIP-Datei, ohne Root-Verzeichnis hinzufügen?

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

  •  06-07-2019
  •  | 
  •  

Frage

Das Zip-Utility-Programm, wenn sie als zip -r out.zip base/* auf dieser Verzeichnisstruktur aufgerufen

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

erzeugt das folgende Ergebnis

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

Ich mag eine Datei erhalten, Daten wie aus der folgenden Ausgabe mit

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

Ich erwartete die Option -j, mir zu helfen, aber es funktioniert nicht: es flacht vollständig die Verzeichnisstruktur. Im Moment fand die einzige Lösung, die ich zu cd in die Basis und rufen zip von hier, aber ich habe mich gefragt, ob es einen Schalter ich nicht als solche in der Dokumentation zu erkennen.

War es hilfreich?

Lösung

Ich verstehe, dass Sie nicht cd wollen, aber ...

Wenn alle Stricke reißen und Sie hoffen, Ihren Anruf zu halten, um eine Zeile zip nach unten, können Sie die Anrufe Kette und einen relativen Pfad zur Ausgabe zip im Stamm verwenden:

Für Windows:

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

Für Linux / Unix:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top