我有一个基于某些现有文件创建tar的进程,然后我希望另一个进程获取该tar文件并向其添加MORE文件。
这是如何以编程方式完成的?
答案 0 :(得分:3)
tarfile中没有这样的文件夹。每个文件都可以有一个路径,因此tarfile可能包含
/some/path/foo
/some/path/bar
/another/path/baz
如果您希望将文件/elsewhere/quartz
添加到tar文件/some/path/quartz
,则可以执行此操作:
tar -rvf tarfilename --transform 's,.*/,/some/path/,' /elsewhere/quartz
(这将在GNU tar中起作用,我无法对其他版本做出承诺。)
单引号中的内容是一个正则表达式替换命令,大致“将所有内容设置为斜线(尽可能多)并将其替换为/some/path/
”。