我想tar一些文件(和目录),但想要创建这些文件应该驻留的其他目录。
例如,对于以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
我进入myproject
目录并想要创建tar存档
tar czf myproject.tgz --place-into-dir myproject-1.0 file2 subdir1
接收包含以下内容的tar档案:
myproject-1.0
+ file2
+ subdir1
+ file3
我正在寻找像我的虚构" - place-into-dir"以上。 因此,文件不应直接放入存档中,而应放入仅在tar存档中创建的附加目录中。
我想避免首先创建该目录,将所有文件复制到该目录,然后再次删除它们以创建tar存档。
答案 0 :(得分:3)
GNU tar有--transform
选项:
--transform=
EXPRESSION ,--xform=
EXPRESSION使用sed替换EXPRESSION来转换文件名
这可以帮到你:
tar --transform 's/^myproject$/\0-1.0/' -czf myproject.tgz myproject
答案 1 :(得分:3)
您可以使用--transform
tar czf myproject.tgz --transform 's,^,myproject-1.0/,' file2 subdir1