rad*_*lan 4 linux bash tar create-directory
我想压缩一些文件(和目录),但想创建一个额外的目录,这些文件应该驻留在其中。
例如对于以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
Run Code Online (Sandbox Code Playgroud)
我 cd 进入myproject目录并想要创建 tar 存档
tar czf myproject.tgz --place-into-dir myproject-1.0 file2 subdir1
Run Code Online (Sandbox Code Playgroud)
接收包含以下内容的 tar 存档:
myproject-1.0
+ file2
+ subdir1
+ file3
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个选项,比如我上面虚构的“--place-into-dir”。因此,不应将文件直接放入存档中,而应放入仅在 tar 存档中创建的附加目录中。
我想避免首先创建该目录,将所有文件复制到该目录,然后再次删除它们,只是为了创建 tar 存档。
kal*_*alj 10
您可以使用--transform以下命令在存档内动态创建目录 :
tar czf myproject.tgz --transform 's,^,myproject-1.0/,' file2 subdir1
Run Code Online (Sandbox Code Playgroud)
GNU tar 有--transform选项:
--transform=表达,--xform=表达使用 sed 替换 EXPRESSION 来转换文件名
这应该可以帮助您:
tar --transform 's/^myproject$/\0-1.0/' -czf myproject.tgz myproject
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3345 次 |
| 最近记录: |