Объединить порезанный архив: zip-файлы с google drive (макос)
Как на macos объединить порезанный на несколько файлов архив скачанный с гугл драйв?
Стандартный архиватор
К сожалению, разархиватор установленный по-умолчанию выдает непотребные дубликаты.
Проблемы с кириллицей
unzip '*.zip' -d combined
А команда выше, пригодная для латиницы (или кириллицы сделанной на макос) выдаёт неотребсва в именах вида: unable to process _???????? ?+??????+????????? ATO Events/2020_7.????? ???? ? ?+?????? - 27 ??????????? -/?????? 27.10.20/???+???????.docx
The Unarchiver
Наткнулся на решение: https://questu.ru/questions/68201952/
upd: оригинал решения https://stackoverflow.com/questions/68201952/merge-combine-multiple-downloaded-zip-files-from-google-drive-on-mac
Инструкция
качаем https://theunarchiver.com/command-line (он не доступен из рф), поэтому вот ссылка https://disk.yandex.ru/d/1-WdAamtUnLEsQ
- Перемещаем файл unar, например в Applications, щелкаем по нему правой кнопкой и зажимаем альт, копируем путь к файлу (у меня это /Applications/)
- "Устанавливаем" unar. Открываем Terminal, в нем пишем три строки (выше есть ссылка на "оригинал решения" и другой вариант установки):
cd /Applications /Applications % chmod +x unar ./unar
Следующая команда в терминале запустит текстовый редактор
nano ~/.zshrc
Надо будет вставить новую строку
alias unar='/Applications/unar'
И нажать ctrl+O для сохранения и кажется enter, так как там что-то спросят. Потом ctrl+X для закрытия редактора
source ~/.zshrc
- Помещаем все нужные архивы в одну папку и по этой папке снова левой кнопкой мыши, потом зажать альт и скопировать путь к папке. А потом в терминале (у меня это /Users/nikita7kachaev/Desktop/ziped/ — если есть пробелы, то надо взять в кавычки)
cd /Users/nikita7kachaev/Desktop/ziped/
mkdir combined for archive in *.zip; do unar "$archive" -o combined; done
Важное дополнение: поскольку при распаковке не_первого по счету архива может возникнуть ситуация, что папка уже создана, то система спросит что-то типа:
"combined/имя_папки" already exists.
(r)ename to "имя_папки", (R)ename all, (o)verwrite, (O)verwrite all, (s)kip, (S)kip all, (q)uit?