Команда Linux unzip: опция принудительной перезаписи?

Я пишу сценарий оболочки, который распаковывает ZIP-файл в существующую иерархию файлов, потенциально перезаписывая некоторые файлы.

Проблема в том, что команда unzip запрашивает подтверждение:
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

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

3 ответа

Решение

Согласно http://www.manpagez.com/man/1/unzip/ вы можете использовать -o опция для перезаписи файлов:

unzip -o /path/to/archive.zip

Обратите внимание, что -oкак и большинство unzipПараметры, должны идти перед именем архива.

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

unzip -f archieve.zip

Но для будущих ссылок, вы можете просто набрать

unzip 

и вы получите список аргументов для этого пакета. Возможные аргументы для этого случая:

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

Используйте тот, который вы считаете более подходящим для ваших нужд.

Попробуйте использовать

      unzip -o <filepath/zipfile.zip> -d <path where you want files>

-o заменяет существующий файл, лучше всего использовать unzip --help

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