我想对某些文件(和目录)进行污染,但要创建一个附加目录,这些文件应位于。
因此,以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
i CD到myproject
目录中,并希望创建TAR Archive
tar czf myproject.tgz --place-into-dir myproject-1.0 file2 subdir1
接收带有以下内容的焦油存档:
myproject-1.0
+ file2
+ subdir1
+ file3
我正在寻找上面的虚构" - into-dir"之类的选项。因此,这些文件不应直接放入存档中,而应将文件放入仅在tar存档中创建的附加目录。
我想避免首先创建该目录,将所有文件复制到该目录,然后再次删除它们以创建TAR存档。
您可以使用 --transform
:
tar czf myproject.tgz --transform 's,^,myproject-1.0/,' file2 subdir1
gnu tar具有--transform
选项:
--transform=
表达式,--xform=
表达式使用SED替换表达式转换文件名
这应该为您提供帮助:
tar --transform 's/^myproject$/ -1.0/' -czf myproject.tgz myproject