zip实用程序,在此目录结构中作为 zip -r out.zip base / * 调用时

.
./base
./base/b
./base/b/c
./base/d

创建以下结果

  adding: base/b/ (stored 0%)
  adding: base/b/c (stored 0%)
  adding: base/d (stored 0%)

我想从以下输出中获取包含数据的文件

  adding: b/ (stored 0%)
  adding: b/c (stored 0%)
  adding: d (stored 0%)

我希望-j选项可以帮助我,但它没有:它完全展平了目录结构。目前,我找到的唯一解决方案就是从这里进入基地并调用zip,但我想知道是否有一个无法在文档中识别的电源开关。

有帮助吗?

解决方案

我知道你不想 cd ,但是......

如果所有其他方法都失败了并且您希望将您的调用压缩到一行,则可以链接调用并使用相对路径在根目录中输出zip:

对于Windows:

cd base& zip -r .. \ out.zip *& cd ..

对于Linux / Unix:

cd base; zip -r ../out.zip *; cd ..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top