使用非唯一文件名解压 tarball
untar tarball with non unique file names
我有一个 .tar 文件需要提取,如下所示
tar tvf bla
100 part1/part1
336 part1/part1
754 part1/part1
638 part1/part1
文件夹和文件名都具有相同的名称,即使文件本身是唯一的。
当我提取 tar 文件时,"part1" 被多次覆盖,我只剩下最后一个 "part1"。我怎样才能提取这些文件并给它们起不同的名字?我真的不在乎名字是什么,我只需要它们是不同的,所以当我提取它们时 none 其中的 none 会被覆盖。
一个可能的输出可能是
part1/part1.1
part1.2
part1.3
part1.4
我想出了一个 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
我有一个 .tar 文件需要提取,如下所示
tar tvf bla
100 part1/part1
336 part1/part1
754 part1/part1
638 part1/part1
文件夹和文件名都具有相同的名称,即使文件本身是唯一的。 当我提取 tar 文件时,"part1" 被多次覆盖,我只剩下最后一个 "part1"。我怎样才能提取这些文件并给它们起不同的名字?我真的不在乎名字是什么,我只需要它们是不同的,所以当我提取它们时 none 其中的 none 会被覆盖。
一个可能的输出可能是
part1/part1.1
part1.2
part1.3
part1.4
我想出了一个 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