如何创建仅保留目标目录及以下目录结构的 ZIP 存档?

如何创建仅保留目标目录及以下目录结构的 ZIP 存档?

我需要创建一个 zip 存档,其中解压结果保留目录结构指定目录下。我也需要这样做没有实际上切换到目录。

我的问题是相似的。在阅读了有关该问题的大量内容后,我认为没有任何内容可以完全回答我的问题。

例如,我有:

/tmp
    /子目录
        /相关目录
            /子文件夹_1/
                东西.pdf
                东西.xls
            /子文件夹_2/
                东西.pdf
                东西.xls
            /子文件夹_3/
                东西.pdf
                东西.xls

我需要能够执行zip -r /tmp/sub_dir/pertinent_dir.zip /tmp/sub_dir/pertinent_dir/*这样的操作,结果仅包含pertinent_dir以下内容。再说一遍,我需要这样做不管我当前的目录上下文。我已经尝试过-j,但这似乎不起作用。也许这是不可能的。我有什么遗漏的吗?

答案1

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

答案2

您可以使用 jar 而不是 zip:

jar cfM /tmp/sub_dir/pertinent_dir.zip -C /tmp/sub_dir pertinent_dir

相关内容