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

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

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

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

您可以后期处理tar流,可以过滤tar文件以删除(或重命名)一些文件。 你可能想要使用-EXclude选项,或者-Remove_Prefix 。 ( tardy有区分大小写的选项)。