从 stdin 将数据压缩到现有的 zipfile 子目录中

compress data into existing zipfile subdir from stdin

我知道可以将标准输入通过管道传输到 zip 文件中。 但是,是否也可以这样做,同时提供现有 zip 文件的目标子目录?

例如

echo thisshouldbezipped > gzip -u mycurzipfile.zip mysubdirinzip

您提到了 zipfilegzip,但是 gzip 既没有创建 .zip 文件,也没有创建带有子目录,所以让我们专注于 zip.

不幸的是,zip 没有为来自标准输入的文件指定 目标子目录 的选项,因此我们不得不求助于一个临时文件,例如。 g.:

( cd /tmp
  mkdir mysubdirinzip
  echo thisshouldbezipped >mysubdirinzip/-
  zip mycurzipfile.zip mysubdirinzip/-
  rm -r mysubdirinzip
)
mv /tmp/mycurzipfile.zip .