[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Größte Schnittmenge von mehreren Dateien



Moin Eduard!

Moin Tilo!

Du aussm Norden ;-)?

sort file*.txt | uniq -c | grep "      5" | cut -c9-

bei 5 Files.

Das kostet aber Speicher und die Laufzeit skaliert nicht gut.

Theoretisch ja, praktisch?

Und mit
UTF-8-Locale kannst du sort und grep eh vergessen.

Da es hier nur auf Gleichheit ankommt, sollte sort | uniq doch trotzdem funktionieren (untested ...)

Perl-Version:

perl -ne 'print $_ if ++$seen{$_} > $#ARGV' *.txt

... egal wie viele Dateien. Kann man noch mit einmaliger Berechnung der
Anzahl beschleunigen.

Hmm ...

%cat a.txt
1
2
3
4
%cat b.txt
1
2
3
%cat c.txt
3
5
1
%perl -ne 'print $_ if ++$seen{$_} > $#ARGV' a.txt b.txt c.txt
1
2
3
3
5
1

Schnittmenge ist aber
1
3

Viele Grüße,

    Tilo



Reply to: