July 8

Объединить порезанный архив: 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

Теперь unar установлен

  • Помещаем все нужные архивы в одну папку и по этой папке снова левой кнопкой мыши, потом зажать альт и скопировать путь к папке. А потом в терминале (у меня это /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?

Я нажимаю O — так всё корректно сливается