Зіпсуйте вміст папки, не включаючи саму папку


76

У мене є каталог, який називається folderтак:

folder
      -> root_folder
                    -> some files

Я хочу зафіксувати цей каталог zipped_dir, я спробував:

zip -r zipped_dir.zip folder/*

Але це створює ZIP, який виглядає приблизно так:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

Іншими словами, це включає каталог, вміст якого я хочу копіювати. Як я можу виключити цей батьківський каталог із ZIP, не рухаючи нічого?

IE Я хотів би цього кінцевого результату:

zipped_dir
          -> root_folder
                        -> some files

Відповіді:


74

Спробуйте скористатися цією командою (ви отримаєте ідею)

cd folder; zip -r ../zipped_dir.zip *

Можливо, є інший спосіб, але це для мене найшвидший і найпростіший :)


2
це прекрасно працює, виконуючи цей трюк. зауважте: це зробить chroot .
loretoparisi

еквівалент:zip -r zipped_dir.zip folder/*
Тобіас Колб

5
@TobiasKolb, можливо, ви не читали питання. ОП не хочуть мати папку в збережений шлях у zip.
Ромео Нінов

2
Здається, єдиний спосіб зробити це
Роберт

1
@PabloDiaz, в моєму прикладі cd -зробить роботу (лише одна команда) :) Абоcd ..
Ромео Нінов

30

Використовувати -j; наприклад:zip -r -j zipped_dir.zip folder/*

Він не зафіксує "root_folder".


7
Я отримую помилку з цим, якщо у мене є два файли з однаковою назвою.
Кріс

11
ОП, ймовірно, хоче видалити лише батьківський каталог, а не всі.
tokland

Ще створює каталоги, zip -r -j package.zip ./dist/static/*створює структуру архівуdist/static/myfiels
deathangel908

4
він також згладжує дочірні файли каталогів.
Суміт Рамтеке

3
-jваріант усунути всі дані каталогу і зберігати тільки файли. Тобто зберігати всі файли в одному каталозі «плоским» способом.
Роберт


0

Це те, що працює для мене:

7z a zipped.zip ./rootDir/*

Це створить zipархів із коренем: будь-які файли / каталоги всередині rootDir.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.