Как создать ZIP-архив, который сохраняет только структуру целевого каталога и ниже?

Мне нужно создать zip-архив, в котором распакованный результат сохраняет структуру каталогов из указанного каталога. Мне также нужно сделать это, не перейдя в каталог.

Мой вопрос подобен этому . Послушав многое по этому поводу, я не чувствую, что что-то полностью ответило на мой вопрос.

Например, у меня есть:

 / TMP
     / sub_dir
         / pertinent_dir
             / Sub_folder_1 /
                 stuff.pdf
                 stuff.xls
             / Sub_folder_2 /
                 stuff.pdf
                 stuff.xls
             / Sub_folder_3 /
                 stuff.pdf
                 stuff.xls

Мне нужно выполнить zip -r /tmp/sub_dir/pertinent_dir.zip /tmp/sub_dir/pertinent_dir/* , чтобы в результате содержался только pertinent_dir и ниже. Опять же, мне нужно сделать это независимо от моего текущего контекста каталога. Я попытался -j , но это, похоже, не работает. Возможно, это невозможно. Есть что-то, что мне не хватает?

2 Solutions collect form web for “Как создать ZIP-архив, который сохраняет только структуру целевого каталога и ниже?”

 sh -c "cd /tmp/sub_dir/pertinent_dir/../ \ && zip -r pertinent_dir.zip pertinent_dir/*" 

Вы можете использовать jar вместо zip:

 jar cfM /tmp/sub_dir/pertinent_dir.zip -C /tmp/sub_dir pertinent_dir 
  • команда zip нескольких каталогов в отдельные файлы zip
  • Как скопировать последний файл из одного каталога в другой?
  • Разделение нескольких определенных файлов из многих в каталог с помощью терминала?
  • Понимание среды Linux Back-Slash и звездочки
  • Есть ли способ конвертировать zip в tar без извлечения его в файловую систему?
  • невозможно извлечь файл, который загружается на FTP-сервер
  • Кодирование zip-файла
  • Можно ли создать zip-файл без использования zip-бинарного файла?
  • Разрешения Unzip (Info-ZIP)
  • как распаковать файл с другим именем
  • Замещать содержимое папки без включения самой папки
  • Linux и Unix - лучшая ОС в мире.