使用非唯一文件名解压缩tarball

时间:2015-05-22 12:31:28

标签: tar

我有一个.tar文件,我需要提取它看起来像这样

tar tvf bla
100   part1/part1
336   part1/part1
754   part1/part1
638   part1/part1

文件夹和文件名都具有相同的名称,即使文件本身是唯一的。 当我提取tar文件时," part1"被多次覆盖,我只剩下最后一个" part1"。如何提取这些文件并为其指定不同的名称?我真的不在乎名字是什么,我只需要它们是不同的,所以当我提取它们时,它们都不会被覆盖。

一个可能的输出可能是

part1/part1.1
      part1.2
      part1.3
      part1.4

1 个答案:

答案 0 :(得分:0)

我提出了一个可行的Python解决方案

import tarfile
tar = tarfile.open([SOMEFILE])
offset = 1
for tarinfo in tar:
   tarinfo.name = "parts1." + str(offset)
   tar.extract(tarinfo, path="parts1")
   offset +=1

这会产生

  parts1/parts1.1
        parts1.2
        parts1.3
        parts1.4