Как добавить файлы и каталоги в zip-файл без корневого каталога?

StackOverflow https://stackoverflow.com/questions/1009501

  •  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 ..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top