与`tarfile`模块中的`arcname`选项对应的tar的选项是什么?

时间:2014-02-14 06:57:52

标签: python tar

在Python中,我们可以为档案中的文件指定替代名称:

with tarfile.open('archive.tar', 'w') as a:
    a.add('files', arcname='another_name')

这是通过arcname参数完成的。

现在我正在尝试使用普通tar命令执行相同的操作,但我找不到允许我指定替代名称的选项。

1 个答案:

答案 0 :(得分:1)

如果您使用GNU tar,则可以使用--transform选项。

$ rm test.tar
$ touch a_name
$ tar cf test.tar --transform s/.*/another_name/ a_name
$ tar tf test.tar
another_name

根据GNU tar(1)手册页:

 --transform, --xform EXPRESSION
       use sed replace EXPRESSION to transform file names