Seite 1 von 1

rmtar

Verfasst: Donnerstag 23. August 2007, 13:12
von caba
Mann kennt ja das problem dass man eventuell ein tar-archive entpackt und plötzlich Hunderte Dateien im $home rumliegen.
Diese dann alle einzeln zu löschen kann je nach grösse etwas lang dauern.
Deswege dieses Script das einfach das archiv nochmal aussliesst und die Dateien entfernt.

Code: Alles auswählen

#!/usr/bin/env python

import tarfile,sys,os

def repacke(archiv):
	
	tar=tarfile.open(archiv)
	files = tar.getnames()
	
	for f in files:
		os.remove(f)
		print "Loesche: %s" % f

if len(sys.argv) < 2:
	sys.exit(2)
else:
    repacke(sys.argv[1])
MFG Manuel

P.S.: Das war damals mein erstes Python-Script das ich gemacht habe. So bin ich zu Python gekommen :D

Verfasst: Donnerstag 23. August 2007, 15:28
von Leonidas
Ist es nicht einfacher, ein Untar-Skript zu schreiben, dass wenn in dem Tarball nicht ein Ordner sondern mehrere einzelne Dateien sind, automatisch einen Ordner erstellt und dorthin entpackt?

Verfasst: Donnerstag 23. August 2007, 18:42
von BlackJack
Frag mich mal nicht wie's heisst, aber so ein Programm sollte es in einem gut sortierten Linux-Paketsystem geben. Das entpackt erst in ein Unterverzeichnis und wenn in dem Verzeichnis danach nur ein Verzeichnis liegt, dann wird dieses eins nach oben verschoben und das jetzt leere temporäre Verzeichnis gelöscht.

Der Unix-"Normalfall" wird also ganz gewöhnlich entpackt und nur bei Archiven die auf "oberster Ebene" mehr Dateien liegen haben wird man vor dem "zumüllen" geschützt.

Verfasst: Freitag 24. August 2007, 12:39
von caba
Ja dass gibt es.

Aber es ging ja darum mal was selber zu Programmieren. War dass halt damals das erste auf was ich gekommen bin :D

Vll kann ja trotzdem jemand was damit angangen :)

MFG manuel