Einträge aus 2 Dateien filtern mit grep

master-rhymes

Grünschnabel
Hallo Leute,

Ich versuche mich seit einiger Zeit mit "grep" und stehe jetzt irgendwie an.

Ich habe 2 TXT Dateien mit E-Mail Adressen.

Die erste hat alle E-Mail Adressen und die zweite enthält diese, die ich aus der ersten entfernen möchte.

Ich habe es mit

Code:
grep -vf dateiFILTER.txt dateiFULL.txt

gemacht, aber er filtert mir die Daten nicht aus der "dateiFULL.txt" raus.

Hat irgendwer noch eine Lösung für das Problem?

Vielen Dank!
 
Quick'n dirty:
Code:
sort $FILE1 $FILE2|uniq -d > temp.dat&&sort $FILE1 temp.dat|uniq -u
$FILE1 ist die Datei in der alle Adressen liegen, $FILE2 die Datei in der die zu löschenden sind.
 
Zuletzt bearbeitet:
Hi.
Quick'n dirty:
Code:
cat $FILE1 $FILE2|sort|uniq -d > temp.dat&&cat $FILE1 temp.dat|sort|uniq -u
$FILE1 ist die Datei in der alle Adressen liegen, $FILE2 die Datei wo die zu löschenden sind.
Wozu generierst du denn erst nochmal eine Datei mit doppelten Einträgen? Zumal du dann gar nicht mehr weißt woher die doppelten Einträge stammen...
Bash:
sort -m <(sort -u $FILE1) <(sort -u $FILE2) | uniq -u
Gruß

PS: Nein, du hast Recht, man darf ja die Einträge aus der 2. Datei nicht mit in das Ergebnis mischen...

Dann wird's doch etwas komplizierter, für einen Einzeiler evtl. ungeeignet, da FILE1 auch 2 mal sortiert wird:
Bash:
sort -m <(sort -m <(sort -u $FILE1) <(sort -u $FILE2) | uniq -d) <(sort -u $FILE1) | uniq -u
 
Zuletzt bearbeitet:
Quick'n dirty:
Code:
cat $FILE1 $FILE2|sort|uniq -d > temp.dat&&cat $FILE1 temp.dat|sort|uniq -u
$FILE1 ist die Datei in der alle Adressen liegen, $FILE2 die Datei in der die zu löschenden sind.

Hm,... hab das ganze jetzt probiert und das ganze so erstellt:
Code:
cat full.txt filter.txt|sort|uniq -d > temp.dat&&cat full.txt temp.dat|sort|uniq -u

aber es filtert leider nix raus...
 
Hi.
Wozu generierst du denn erst nochmal eine Datei mit doppelten Einträgen? Zumal du dann gar nicht mehr weißt woher die doppelten Einträge stammen...
bash Code:
sort -m <(sort -u $FILE1) <(sort -u $FILE2) | uniq -u



Gruß

PS: Nein, du hast Recht, man darf ja die Einträge aus der 2. Datei nicht mit in das Ergebnis mischen...

Das gibt mir leider auch nur alle Einträge aus :-( also so:

Code:
sort -m <(sort -u full.txt) <(sort -u filter.txt) | uniq -u
 

Neue Beiträge

Zurück