web-dev-qa-db-ja.com

解凍したファイルを圧縮フォルダーに追加する

既に圧縮されている既存のフォルダにnew folder.Zipと言って、圧縮されていないファイルを追加しようとしています。解凍されたファイルを追加した後、Zip -r new folder.Zipを使用することはできますか?このコマンドはフォルダーを圧縮しますか?これを行うための代替手段はありますか?

42
boo na

更新フラグを使用します:-u

例:

Zip -ur existing.Zip myFolder

このコマンドは、myFolder(およびその内容)を圧縮してexisting.Zipに追加します。


高度な使用法:

更新フラグは、実際に受信ファイルを既存のファイルと比較し、新しいファイルを追加するか、既存のファイルを更新します。

したがって、Zipファイル内の特定のサブディレクトリを追加/更新する場合は、必要に応じてソースを更新してから、-uフラグを使用してソース全体を再度圧縮します。変更されたファイルのみが圧縮されます。

ソースファイルにアクセスできない場合は、Zipファイルを解凍し、目的のファイルを更新してから、-uフラグを使用して再度Zip圧縮できます。ここでも、変更されたファイルのみが圧縮されます。

例:

元のソース構造


ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│   ├── file3.txt
│   ├── Logs
│   │   ├── logs1.txt
│   │   ├── logs2.txt
│   │   ├── logs3.txt

更新されたソース構造


ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│   ├── file3.txt
│   ├── Logs
│   │   ├── logs1.txt
│   │   ├── logs2.txt
│   │   ├── logs3.txt 
│   │   ├── logs4.txt <-- NEW FILE 

使用方法

$ Zip -ur existing.Zip ParentDir 
> updating: ParentDir/ChildDir/Logs (stored 0%)
>   adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)
56
Ethan Strider

このコマンドを使用してファイルを追加できると思います。

Zip -r zipfile.Zip newfile.txt newfile1.txt

-r Zipコマンドのオプションを使用すると、ファイルを追加できます。

1
ryekayo

Zipコマンドを使用して成功しました。 grow(-g)オプションを使用して、ファイルfolder1/folder2およびfileA.txtを含むサブフォルダーfileB.txtを追加します。

Zip -gr folder.Zip folder1/folder2

-rrecurse dirを意味します。

私の理解から-gは、新しいZipファイルを作成するのではなく、Zipファイルを拡張する必要があります(非常に大きなZipアーカイブで役立つ場合があります)。問題が発生した場合は、最初にfolder.Zipにサブフォルダーを作成してみてください(例:):

Zip -g folder.Zip folder1
Zip -g folder.Zip folder2
0
Fabiano Tarlao

-uフラグは、

Zip -ur Zip_to_upload.Zip file_to_add.txt

よろしく

0
David Lopes

Zipアーカイブを使用して同じ場所に多数のファイルがあり、それらすべてをアーカイブにコピーする場合は、次のようにします。

Zip -ur zipfile.Zip !(zipfile.Zip)

これにより、Zipファイルが更新されます(-uオプション)再帰的(-rオプション)Zipファイル自体を除くすべてのファイル(!はzipファイルの否定です)

次に、上記と同じルールに従って、Zipファイルを除くすべてのファイルを削除できます。

rm !(zipfile.Zip)
0
despina