2016-05-03 14 views
0

フォアたとえば、私は私のプロジェクトでいくつかのファイルを持っている、構造は、私は私のプロジェクトからいくつかのファイルを圧縮したい、このシェル:複数のファイルをディレクトリに移動し、別の名前でそのディレクトリを圧縮するにはどうすればよいですか?

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

ようなことができて、私はZIPコマンドを使用して(フォルダを作成し、他のいくつかのファイルがあることを行うことができますこの新しいファイルが作成された後

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

はジップから)除外:MacのFinderで

build/project-04.05.2016.zip 

私は、このファイルをダブルクリックしたときに、それはunzippeなりこのようなD:私は何とかこのアーカイブを圧縮したいと思いますので、それを解凍だとき、代わりに「プロジェクト・2016年4月5日」の

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

は、私は同じ内容でフォルダ「プロジェクト」を取得します。私は "project-04.05.2016"にファイルの名前を "project"として圧縮した後に改名しようとしていましたが、解凍されても結果は同じです。おそらく、一時的な「プロジェクト」フォルダにファイルを移動し、「project-04.05.2016.zip」に圧縮する方法がありますか?前もって感謝します。

+0

私はあなた自身の質問に答えたと思います。最初にそれを試してください。問題がある場合は、さらに質問してください。 – Mort

+0

zipコマンドでこれを行うには、魔法のトリックはありませんか?確かに、私はその一時的なフォルダを作成しようとします – gradosevic

答えて

0

私の現在の解決策ですが、それは小さなスクリプトですが、私はそれに満足していませんが、機能します。誰かがより洗練された解決策で答えるなら、私は受け入れます。したがって、ここにあります:

#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 
関連する問題