Я знаю, что это пара лет, но ответы, приведенные выше, не решили мою конкретную проблему здесь, поэтому я подумал, что должен пойти дальше и опубликовать решение, которое работает для меня.
Без сценариев вы можете просто использовать командную строку для взаимодействия с текстовым интерфейсом инструментов распаковки. То есть, когда вы вводите это в командной строке:
unzip file.zip
и содержит файлы с одинаковыми именами, вам будет предложено:
replace sameName.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Если вы хотите сделать это вручную, введите «r», а затем в следующем приглашении:
new name:
вы просто наберете новое имя файла.
Чтобы автоматизировать это, просто создайте текстовый файл с ответами на эти приглашения и используйте его в качестве входных данных для распаковки, как показано ниже.
r
sameName_1.txt
r
sameName_2.txt
...
Это генерируется довольно легко, используя ваш любимый язык сценариев. Сохраните его как unzip_input.txt, а затем используйте его как вход для распаковки:
unzip < unzip_input.txt
Для меня это была меньшая головная боль, чем попытка заставить модули извлечения Perl или Python работать так, как мне нужно. Надеюсь, это кому-нибудь поможет ...