On Thu, 04 Aug 2005 17:56:23 +0200, Ames Andreas
<[EMAIL PROTECTED]> wrote:
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>
Oder:
from sys import stdout
from sets import Set
files = ["/tmp/pc1.pkgs", "/tmp/pc2.pkgs"]
sets = [Set(file(f).readlines()) for f in files]
intersection = reduce(lambda x,y: x & y, sets)
stdout.writelines(intersection)
Viele Grüße,
Tilo
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)