#!/usr/bin/python # # see # https://sourceforge.net/tracker/index.php?func=detail&aid=1336623&group_id=5470&atid=105470 # # import tarfile import sys from string import find tar = tarfile.open(sys.argv[1], "r:gz") namelist = [tarinfo.name for tarinfo in tar] def is_unique(tname): for t in namelist: if t == tname: continue elif not find(t, tname, 0, len(tname)): return False return True for tarinfo in tar: if is_unique(tarinfo.name): tar.extract(tarinfo)