如何以编程方式将文件添加到现有tar文件

时间:2011-06-15 14:34:35

标签: unix language-agnostic tar

我有一个基于某些现有文件创建tar的进程,然后我希望另一个进程获取该tar文件并向其添加MORE文件。

这是如何以编程方式完成的?

1 个答案:

答案 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/”。