为目录创建tar.gz文件,但名称不同

时间:2018-01-16 15:12:29

标签: bash tar

我可以使用

从目录file.tar.gz创建文件directory文件
tar -zcvf file.tar.gz directory

使用

打开包装
tar xzf file.tar.gz

重新创建目录directory。但是如何在使用相同命令解压缩时创建file.tar.gz的目录directory中创建directory-foo(需要保留unpack命令)?应该避免在打包之前将目录directory重命名为directory-foo以及复制目录。

尝试建议时

OLDNAME=directory
NEWNAME=directory-foo
tar --transform='s,$OLDNAME/,$NEWNAME/,' -x -f file.tar.gz

我正在

tar: Option --transform=s,$OLDNAME/,$NEWNAME/, is not supported
Usage:
...

1 个答案:

答案 0 :(得分:2)

Tar承认sed expression修改文件名。您可以使用--transform--xform