Hi,
ich habe zwei Dateien mit Mailadressen.
Wenn eine mail-adresse in datei 1 ist, soll sie aus datei 2 gelöscht werden.
Gibt es da einen schönen 1 - 2 zeiler ?
dateien vergleichen
-
- Beiträge: 3289
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: dateien vergleichen
comm --check-order -3 dat1 dat2 >neue-dat
mv neue-dat dat2
Ungetestet, es ist spät... und ich habe comm lange nicht mehr benutzt.
// Nach lesen der Manpage noch der Hinweis, die Dateien müssen sortiert sein
mv neue-dat dat2
Ungetestet, es ist spät... und ich habe comm lange nicht mehr benutzt.
// Nach lesen der Manpage noch der Hinweis, die Dateien müssen sortiert sein
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: dateien vergleichen
Vielleicht besser noch - je nach Reihenfolge - Schalter 1 bzw. 2 hinzufügen, damit "einzigartig" zu löschende Adressen nicht dem Pool hinzugefügt werden:
Code: Alles auswählen
comm -13 <(sort f_delete) <(sort f_pool) >f_pool_new && mv f_pool_new f_pool
Re: dateien vergleichen
Sollten die Dateien klein sein (sagen wir mal unter 1 Millionen Zeilen) könnte man sie vielleicht zeilenweise in Variablen schreiben (awk?) und dann erst die zweite Datei entsprechend durchlaufen lassen. Spart die Sortierung und kostet nur etwas mehr RAM.
Re: dateien vergleichen
Funktioniert guttobo hat geschrieben:Vielleicht besser noch - je nach Reihenfolge - Schalter 1 bzw. 2 hinzufügen, damit "einzigartig" zu löschende Adressen nicht dem Pool hinzugefügt werden:Code: Alles auswählen
comm -13 <(sort f_delete) <(sort f_pool) >f_pool_new && mv f_pool_new f_pool
Ich hole mir aus allen Maildir/gesendet die Mailadressen
Dann alle gesendeten aus der Mail.log
alles lowercase unique...
Das wird meine Whitelist
Alles was ich in Junk-E-Mail schiebe wird meine Blacklist
Spamassassin markiert Junk und procmailrc verschiebt x-spam-status=yes auch nach Junk-E-Mail
Da manche aus Versehen in Junk landen, lösche ich alle in der Whitelist aus der Blacklist
Procmailrc ist angewiesen, alle aus der Whitelist nicht auf Junk zu prüfen sondern in den Posteingang zu schieben.
Fertig...
Das funzt sehr gut...
Somit werden selbst von spamassassin als Junk markierte in den Posteingang gelegt.
Und alle aus der Blacklist direkt nach Junk-E-Mail