Можно ли заархивировать измененные файлы в отдельный архив только с измененными файлами

Если я заархивирую папку, внесу изменения в обычные разархивированные файлы, а затем снова заархивирую эту папку, возможно ли иметь только эти измененные файлы в новом отдельном архиве?

Итак, первая команда zip будет :

zip -r folder.zip *

Второй что-то вроде:

zip -r -u folder.zip * < changedFilesOnly.zip // would save output
7
задан 24 October 2012 в 00:48

1 ответ

Да, это можно сделать, и есть командный переключатель zip, специально разработанный для этой цели. Я покажу вам в качестве примера, а затем вы можете адаптировать его к своим собственным целям.

Сначала я создал zip-архив своей папки сценариев с помощью следующей команды (работающей из моей домашней папки):

zip -r Scripts.zip Scripts

Теперь в ней было 76 элементов. Затем я добавил 2 файла PDF в папку Scripts на диске, а затем выполнил следующую команду и перенес просто новые и измененные файлы в новый zipfile:

zip -r Scripts.zip Scripts -DF --out new.zip

Это был output:

updating: Scripts/ (stored 0%)
adding: Scripts/GIMP+Magazine+Issue+1.pdf (deflated 2%)
adding: Scripts/Whitepaper-CentralisedLogging-v1.pdf (deflated 10%)

Теперь только эти 2 новых файла находятся в new.zip, и они не были добавлены в исходный zip. В команде параметр -DF позволил нам создать «архив различий», указанный с помощью переключателя --out, чтобы любые новые файлы, присутствующие в папке на диске, но не в исходном zip-файле, переходили к новому zip-файлу. , Таким образом, согласно справочной странице, действительно можно

создать архив, содержащий все новые и измененные файлы с момента создания исходного архива. Чтобы это работало, список входных файлов и текущий каталог должны быть такими же, как во время исходной операции zip.

Есть несколько интересных опций, с которыми можно поиграть для zip, поэтому, пожалуйста, смотрите man zip или руководства по Ubuntu онлайн .

0
ответ дан 24 October 2012 в 00:48

Другие вопросы по тегам:

Похожие вопросы: