在Linux中使用tar删除以前缀开头的文件

时间:2012-10-12 19:33:35

标签: linux tar

是否可以从压缩的tarball中删除以特定名称开头的所有文件,而无需再次提取和重新创建存档?

2 个答案:

答案 0 :(得分:3)

tar文件格式是一种流格式,因此可以通过读取旧文件,跳过不需要的文件,并将要保留的所有数据复制到新的tar文件来实现。如果tar文件也被压缩(例如.tar.gz),那么你必须解压缩,过滤,重新压缩和写入。

我不知道有任何现有工具可以做到这一点,但例如,使用Python tarfile module应该相当简单。

答案 1 :(得分:1)

您可以使用tardytar流进行后处理,{{3}}可以过滤tar文件以删除(或重命名)某些文件。您可能希望使用-EXclude选项,或者-Remove_Prefix选项。 (tardy具有区分大小写的选项)。