Вопрос: Linux unzip command: возможность принудительно перезаписать?


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

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

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


120
2018-01-26 08:48


Источник




Ответы:


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

unzip -o /path/to/archive.zip

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


194
2018-01-26 09:04



например: unzip -o ZIP_PATH, работает как модификатор. - bonzofenix
-o параметр должен использоваться перед любыми другими аргументами. Пример: unzip -o /path/to/archive.zip -d /destination_dir - FelikZ
@FelikZ Спасибо за деталь, я добавил ваш (урезанный) пример к ответу - foraidt
это не работает на веб-сайтах Azure (Windows). - loretoparisi
@loretoparisi О чем ты говоришь? Это вопрос Linux. Вы ищете что-то вроде Expand-архив? - Franklin Yu


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

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    

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


20
2017-08-26 23:02



+1, мне нравится более тонкая, более дружественная версия «вот как rtfm для контекста, но вот соответствующий раздел m-подхода». - Nathan Basanese
Также посмотрел на помощь, но не понял разницу. между -u update files, create if necessary а также -f freshen existing files, create none ️? - juanmirocks
//, разница в поведении, если файл не существует - Nathan Basanese


gunzip -f /path/to/archive.zip также заставит перезаписать


-4
2017-10-23 13:21



gunzip не может распаковать .zip файл, содержащий несколько файлов. - poolie