É possível zipar os arquivos alterados em um arquivo separado com apenas os arquivos alterados

6

Se eu zipar uma pasta, fazer alterações nos arquivos descompactados normais e zipar essa pasta novamente, é possível ter apenas esses arquivos alterados em um novo arquivo separado?

Então, o primeiro comando zip seria:

zip -r folder.zip *

Segundo, algo como:

zip -r -u folder.zip * < changedFilesOnly.zip // would save output
    
por Derrick 23.10.2012 / 22:48

1 resposta

5

Sim, é possível fazer isso e há uma opção de comando zip especialmente projetada para essa finalidade. Eu mostrarei a você um exemplo e você poderá adaptá-lo a seus próprios propósitos.

Primeiro, criei um arquivo zip da minha pasta de script com o seguinte comando (trabalhando na minha pasta pessoal):

zip -r Scripts.zip Scripts

Agora, isso teve 76 itens. Em seguida, adicionei 2 pdfs à pasta Scripts no disco e, em seguida, executei o seguinte comando e transferi apenas os arquivos novos e alterados para um novo arquivo zip:

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

Esta foi a saída:

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

Agora, apenas esses dois novos arquivos estão em new.zip e não foram adicionados ao zip original. No comando, a opção -DF nos permitiu criar um 'arquivo de diferenças' especificado com a opção --out , para que quaisquer novos arquivos presentes na pasta no disco, mas não no zip original, fossem para o novo zip . Então, de acordo com a página man, é realmente possível

  

crie um arquivo que contenha todos os arquivos novos e alterados desde o arquivo original   foi criado. Para que isso funcione, a lista de arquivos de entrada e o diretório atual devem ser os mesmos que durante a operação zip original.

Existem algumas opções interessantes para brincar com o zip, por isso, consulte man zip ou o Manpages do Ubuntu online .

    
por user76204 27.10.2012 / 01:25