以自定义方式压缩多个文件?

以自定义方式压缩多个文件?

我遇到了手动为我的应用程序构建 tarball 以准备发行版的问题。我的项目结构如下

project_root
     |
     |__resources
     |     |____config.conf
     |
   ....
     |__target
           |____release
                    |___bin
                         |___app.bin

所以我需要像傻瓜一样压缩 2 个文件:

project_root/resource/config.conf         -->   ./app/config/example/config.conf
project_root/target/release/bin/app.bin   -->   ./app/app.bin

有一个很好的例子说明如何压缩多个文件对于焦油相对路径,但对于单个文件。

有没有办法将上面方案中的两个文件打包?

答案1

使用 GNU,tar您可以手动包含这两个文件并使用以下选项修改路径--transform

tar --transform=s,project_root/resources/,./app/config/example/, \
    --transform=s,project_root/target/release/bin/,./app/, \
    -cf my.tar \
    project_root/resources/config.conf \
    project_root/target/release/bin/app.bin

输出:

$ tar tf my.tar
./app/config/example/config.conf
./app/app.bin

相关内容