3

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

Но я хочу извлечь содержимое первого (корневого) каталога в zip, если в корне zip есть только один каталог, иначе просто извлекать файлы / папки в корне zip файла (если их больше одного файлы).

Например, test.zip следующую структуру dir:

test.zip
  \
 /app_v1/ <-The contents of this directory I want extracted to a dir of my choice
      \
     - folder-1
     - folder-2
     - folder-3
     - folder-4
     - file1
     - file2

2 ответа2

1

Вы, вероятно, хотите объединить -j с -d . -j позволяет отбросить пути, которые там есть. Имейте в виду, если есть другие папки, которые вам не нужны, они тоже будут объединены.

unzip -jd <some_path> test.zip
1

или вы можете использовать наиболее гибкий

unzip -p zipfile.zip some/path/file.txt > otherfilename.txt

Таким образом, вы даже можете сразу сделать с ним все, что вы хотели, без необходимости сохранять его, если это всего лишь временный файл, например

unzip -p zipfile.zip some/path/file.iso | md5sum

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .