在tar中添加前缀

Modified on: Fri, 07 Dec 2018 21:00:02 +0800

我目前在shellcript中做得非常低效:

cp -a $MYPATH /tmp/$VERSION
cd /tmp
tar cjf archive.tar.bz2 $VERSION

我希望所有内容都包含在名为$ VERSION的目录中 - 有没有办法在不必复制上述脚本中的所有内容的情况下执行此操作?

作者:Robby75

最佳答案

tar的GNU版本支持--transform选项(及其别名--xform),您可以像这样使用它

tar --transform "s/^$MYPATH/$VERSION/" -cf archive.tar.bz2 "$MYPATH"

例如,给定此目录树

foo └── foo.txt

命令

foo
└── foo.txt

将生成类似

的存档

tar --transform "s/^foo/bar/" -cf foo.tar.bz2 foo
作者:toro2k

相关问答

添加新评论