如何在tar.bz2存档中重命名文件?

时间:2012-09-11 16:58:46

标签: bzip2

我想知道是否有更好的方法可以从.tar.bz2文件中重命名文件,而无需解压缩并重新打包整个存档。

1 个答案:

答案 0 :(得分:1)

bzip2对tar生成的整个流执行流压缩。它没有文件的概念,因此在tar.bzip2存档中查找文件的唯一方法是将bzip2解压缩到文件出现的位置。删除文件并创建新的tar.bz2存档需要创建一个新的tar文件。

如果您编写专用缓存以避免在解压缩存档时进行重新压缩,可能能够重用原始tar.bz2存档的开头,但您肯定必须重新压缩其余的存档。

如果您的问题是磁盘空间,您可以尝试通过管道在线执行整个解压缩和压缩,即

bzcat original.tar.bz2 | command_to_rename_inside_tar | bzip2 > result.tar.bz2