разархивировать в папку

Я хочу разархивировать содержимое zipfile с именем mine.zip в /yours/ но когда я это делаю, используя флаг -d он продолжает перемещаться в /yours/crap/ etc, который я не хочу

Есть ли способ сделать это?

Вы можете скопировать все содержимое zip-файла с помощью cd /yours && unzip -j /path/to/mine.zip . Параметр -j называется «мусорными путями» и просто выгружает каждый файл в текущий каталог, а не извлекает любую структуру каталогов.

Чтобы быть более точным, чем извлечение структур каталогов, кроме верхнего, вам нужно будет узнать имя папки внутри zip, которую вы хотите пропустить, и, в частности, попросите unzip извлечь содержимое этой папки.

К сожалению, unzip не является гибким, как tar с различными вариантами пути к папке, которые он может обрабатывать для gzip, bzip2, lzip и других форматов сжатия.