Questão Linux unzip command: Opção para forçar a sobregravação?


Eu estou escrevendo um script de shell que descompacta um arquivo ZIP em uma hierarquia existente de arquivos, potencialmente substituindo alguns dos arquivos.

O problema é que o comando unzip pede confirmação:
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

Existe uma opção para forçar descompactar para substituir os arquivos?


121


origem




Respostas:


De acordo com http://www.manpagez.com/man/1/unzip/ você pode usar o -o opção para sobrescrever arquivos:

unzip -o /path/to/archive.zip

Observe que -o, como a maioria dos unzipopções, tem que ir antes o nome do arquivo.


197



por exemplo: unzip -o ZIP_PATHfunciona como um modificador. - bonzofenix
-o opção deve ser usada antes de qualquer outro argumento. Exemplo: unzip -o /path/to/archive.zip -d /destination_dir - FelikZ
@FelikZ Obrigado pelo detalhe, eu adicionei o seu exemplo (despojado) para a resposta - foraidt
isso não funciona nos sites do Azure (Windows). - loretoparisi
@loretoparisi Do que você está falando? Esta é uma questão do Linux. Você está procurando por algo como Expandir arquivo? - Franklin Yu


Se você precisar descompactar para substituir apenas os novos arquivos, poderá usar

unzip -f archieve.zip

Mas para referências futuras, você pode digitar

unzip 

e você obterá uma lista dos argumentos para este pacote. Os argumentos possíveis são para este caso são:

-f  freshen existing files, create none
-n  never overwrite existing files         
-q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting    

Use o que você se sentir mais adequado para suas necessidades.


20



+1, eu gosto da versão mais sutil e mais amigável de "aqui está como rtfm para o contexto, mas aqui está a seção relevante da abordagem m". - Nathan Basanese
Também olhei para a ajuda, mas não entendi o diff. entre -u update files, create if necessary e -f freshen existing files, create none ‍️? - juanmirocks
//, a diferença está no comportamento se o arquivo não existir - Nathan Basanese


gunzip -f /path/to/archive.zip também forçará a sobrescrever


-4



gunzip não pode descompactar um .zip arquivo contendo vários arquivos. - poolie