Re: Größte Schnittmenge von mehreren Dateien
Christoph Bersch wrote:
> Hallo,
>
> wie kann ich die größte Schnittmenge von mehreren Dateien ermitteln?
1) Erzeuge die Paketdateien mit:
dpkg --get-selections | grep '[[:space:]]install$' | cut -f 1 >/tmp/pc1.pkgs
usw. (die Dateinamen spielen keine Rolle).
2) Benutze folgendes Pythonscript:
#<script>
files = ["/tmp/pc1.pkgs", "/tmp/pc2.pkgs"]
files_per_line = {}
for f in files:
for l in file(f):
# nicht sehr effizient aber kurz
files_per_line[l] = files_per_line.setdefault(l, 0) + 1
flen = len(files)
for l, i in files_per_line.items():
if i == flen:
print l,
#</script>
(Das Komma am Ende verhindert unnötige Leerzeilen). Trage in die
Variable 'files' alle deine oben erzeugten Dateinamen ein und lass das
Script laufen.
3) Das ganze ist weitgehend ungetestet und könnte deinen Rechner
ernsthaft gefährden, es gibt angeblich auch Leute, die nach seiner
Anwendung einen Arzt aufsuchen mussten. Dies ist ein Schnellschuss
und kein besonders guter (z.B. können Leerzeilen in den
Paketdateien mit ausgegeben werden, falls eine Zeile in einer
Paketdatei mehrmals vorkommt, wird sie u.U. auch ausgegeben etc.).
HTH,
aa
--
Andreas Ames | Programmer | Comergo GmbH |
Voice: +49 69 7505 3213 | andreas . ames AT comergo . com
Reply to: