Как создать 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 , но это, похоже, не работает. Возможно, это невозможно. Есть что-то, что мне не хватает?

 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