我需要创建一个 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