2016-05-03 6 views
0

Fore Beispiel habe ich einige Dateien in meinem Projekt, Struktur wie dieseShell: Wie verschiebt man mehrere Dateien in ein Verzeichnis und zip das Verzeichnis mit einem anderen Namen?

Project/ 
-- file1.txt 
-- file2.txt 
-- build/ 
-- sub-folder/ 

Ich möchte sein könnte einige Dateien von meinem Projekt zip und ich kann tun, dass ZIP-Befehl (Build-Ordner und einige andere Dateien sind ausgenommen von zip)

zip -r build/project-04.05.2016 ./ -x *\build\* 

Nachdem diese neue Datei erstellt:

build/project-04.05.2016.zip 

In Mac Finder, wenn ich auf diese Datei doppelklicken, um es wird unzippe d wie folgt aus:

build/project-04.05.2016/ 
----------- file1.txt 
----------- file2.txt 
----------- subfolder/ 

Ich möchte irgendwie dieses Archiv zip, so, wenn es dekomprimiert ist, anstelle von „Projekt-2016.04.05“ Ich bekomme einen Ordner „Projekt“ mit dem gleichen Inhalt. Ich habe versucht, die Datei in "project-04.05.2016" umzubenennen, nachdem sie als "Projekt" gezippt wurde, aber wenn sie entpackt wird, sind die Ergebnisse die gleichen. Vielleicht gibt es eine Möglichkeit, die Dateien zuerst in einen temporären "Projekt" -Ordner zu verschieben und sie dann zu "project-04.05.2016.zip" zu zippen? Danke im Voraus.

+0

Ich denke, Sie haben Ihre eigene Frage beantwortet. Probieren Sie es zuerst aus und wenn Sie Probleme haben, dann fragen Sie mehr. – Mort

+0

Also gibt es keinen Zaubertrick mit dem Befehl zip? Sicher, ich werde versuchen, diesen temporären Ordner zu erstellen – gradosevic

Antwort

0

Hier ist meine aktuelle Lösung, es ist ein kleines Skript und ich bin nicht allzu zufrieden damit, aber es funktioniert. Ich werde akzeptieren, wenn jemand mit eleganterer Lösung antwortet. Also, hier ist es:

#clear the contents of the previous build first 
rm -r build/* 

#copy required files to a temporary folder 
rsync -av --exclude=build ./ build/project 

#change current directory to build 
cd build/ 

#zip files from build/project folder 
zip -r "project-04.05.2016" project 

#remove temporary folder 
rm -r project/ 

#final zip file is at location: 
#build/project-04.05.2016.zip 
Verwandte Themen