Unix komprimieren sub-Verzeichnis nicht darunter übergeordnete Verzeichnis

Ich möchte eine zip-sub Verzeichnis und schicken Sie es an anderer Stelle, das problem ist, wenn ich die zip-Befehl enthält es auch alle unerwünschten Schichten von Verzeichnissen, die ich nicht will.

z.B.

zip -r /new.zip /Unwanted1/Unwanted2/wanted1/wanted2/file.txt

###unzipped produces the following
/Unwanted1/Unwanted2/wanted1/wanted2/file.txt

###I want
/wanted1/wanted2/file.txt

update: Das Verzeichnis, ich will zip hat viele verschachtelte Verzeichnisse, damit die -r. Auch wäre es Klasse, Angebot mit absoluten Pfaden, die alte Lösung verwendet, um die cd über den Ort, aber ich habe gerade nicht wirklich gefällt. Vielleicht ist das die beste (einzige) Möglichkeit.

  • Die -r bedeutet rekursiv. Wenn Sie wirklich brauchen, um zu verwenden, dann sollten Sie Lesen, auf den zip-Optionen zum ausschließen. Wenn Sie nur wollen, um eine zip-Datei, cd in den entsprechenden parent-dir (nach deinem Beispiel) ./Unwanted1/Unwanted2 und dann zip new.zip wanted/file.txt. Das heißt, ich glaube nicht, dass es eine zip-option, die heißt "wirf den ersten n-Schichten Unterverzeichnis info auf der input-Dateiname'. Viel Glück.
  • Hast du da bearbeitet dein Beispiel, welche änderungen das Spiel eine ganze Menge. Menschen don ' T wollen in der Regel absolute Pfade wie die. Möglicherweise gibt es mehr-Pfad Trimm - /control-Optionen in 'zip', aber ich bezweifle es. Lesen Sie die man-Seite. Oder wechseln Sie zu 'tar' und Lesen, die (ebenso lange) man-Seite. Und Sie immer noch nicht brauchen -r aus, wenn Sie das hinzufügen einer einzigen Datei, egal wie tief.
InformationsquelleAutor henry.oswald | 2011-11-17
Schreibe einen Kommentar