创建 tar 存档时添加目录
add a directory when creating tar archive
我想 tar 一些文件(和目录),但想创建一个额外的目录,这些文件应该位于其中。
因此,例如以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
我 cd 进入 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 存档。
GNU tar 有 --transform
选项:
--transform=
EXPRESSION, --xform=
EXPRESSION
use sed replace EXPRESSION to transform file names
这应该对您有帮助:
tar --transform 's/^myproject$/[=10=]-1.0/' -czf myproject.tgz myproject
您可以使用 --transform
:
在存档中即时创建一个目录
tar czf myproject.tgz --transform 's,^,myproject-1.0/,' file2 subdir1
我想 tar 一些文件(和目录),但想创建一个额外的目录,这些文件应该位于其中。
因此,例如以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
我 cd 进入 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 存档。
GNU tar 有 --transform
选项:
--transform=
EXPRESSION,--xform=
EXPRESSIONuse sed replace EXPRESSION to transform file names
这应该对您有帮助:
tar --transform 's/^myproject$/[=10=]-1.0/' -czf myproject.tgz myproject
您可以使用 --transform
:
tar czf myproject.tgz --transform 's,^,myproject-1.0/,' file2 subdir1