Как добавить файлы и каталоги в zip-файл без корневого каталога?
-
06-07-2019 - |
Вопрос
Утилита zip, когда она вызывается как zip -r out.zip base / *
в этой структуре каталогов
.
./base
./base/b
./base/b/c
./base/d
создает следующий результат
adding: base/b/ (stored 0%)
adding: base/b/c (stored 0%)
adding: base/d (stored 0%)
Я хотел бы получить файл, содержащий данные из следующего вывода
adding: b/ (stored 0%)
adding: b/c (stored 0%)
adding: d (stored 0%)
Я ожидал, что опция -j поможет мне, но это не так: она полностью выравнивает структуру каталогов. На данный момент единственное решение, которое я нашел, - это перейти на базу и вызвать zip отсюда, но мне было интересно, есть ли переключатель мощности, который я не могу распознать как таковой в документах.
Решение
Я понимаю, что вы не хотите cd
, но ...
Если ничего не помогло, и вы надеетесь, что ваш вызов будет перенесен на одну строку, вы можете объединить вызовы и использовать относительный путь для вывода zip в корне:
Для Windows:
cd base & amp; zip -r .. \ out.zip * & amp; CD ..
Для Linux / Unix:
база CD; zip -r ../out.zip *; CD ..