wiefreak
Goto Top

Nichtvorhandene einträge aus 2 CSV-Dateien vergleichen

Hallo Administrator-Gemeinde,

ich habe ein kleines Problem bei dem ich nicht weiterweiß.

Ich habe 2 .csv-Dateien (Nennen wir sie vorlage.csv und muell.csv)

Vorlage.csv

Wert1 | UnwichtigerWert1
Wert2 | UnwichtigerWert2
Wert3 | UnwichtigerWert3
Wert4 | UnwichtigerWert4

Muell.csv

Wert1
FalscherWert1
Wert2
Werr3
FalscherWert2

Kurz gesagt , die Datei vorlage.csv enthält Mehrere Spalten, von denen aber nur die erste ist für mich Interressant. Die Datei Muell.csv enthält genau die selben Werte wie Vorlage.csv , hat aber nur die Spalte mit den Relevanten Daten und es sind auch noch ein paar Falsche Werte dabei. (Alle Werte die nicht in Vorlage.csv enthalten sind aber in Muell.csv sind Falsch)

Ich möchte jetzt mit einem Batch-Script die Werte die zuviel sind (die in Vorlage.csv aber nicht in Muell.csv enthalten sind) in einer Textdatei ausgeben lassen , so dass in ihr am Ende steht

FalscherWert1
FalscherWert2
FalscherWert3

Hätte jemand eine Idee wie ich das bewerkstelligen könnte?

Danke schonmal ,
Wiefreak

Content-ID: 214262

Url: https://administrator.de/contentid/214262

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

bastla
Lösung bastla 14.08.2013, aktualisiert am 11.10.2014 um 11:42:03 Uhr
Goto Top
Hallo Wiefreak und willkommen im Forum!
Werte die zuviel sind (die in Vorlage.csv aber nicht in Muell.csv enthalten sind)
Hätte ich (auch lt Beispiel) anders herum interpretiert - dann zB so (ungetestet):
@echo off & setlocal
set "Vorlage=D:\Vorlage.csv"  
set "Muell=D:\Muell.csv"  
set "Falsch=D:\Falsch.txt"  

for /f "usebackq delims=" %%i in ("%Muell%") do findstr /ib "%%i" "%Vorlage%">nul || >>"%Falsch%" echo %%i  
Grüße
bastla
Endoro
Endoro 14.08.2013 aktualisiert um 10:15:35 Uhr
Goto Top
Hallo, Vorschlag mit awk:
awk "NR==FNR {a[$1]; next}; !($1 in a) {print}" vorlage.csv Muell.csv > Fehler.csv  
lg.
Wiefreak
Wiefreak 14.08.2013 um 10:11:37 Uhr
Goto Top
Danke Erstmal face-smile , Tschuldigung , wenn ich für Verwirrung gesorgt habe. Habe dein script getestet, Funktioniert super (y) .
Es ging konkret darum , das ich eine Datei mit Mitarbeitern hatte die gerade angestellt sind und eine mit allen die jemals da waren, und jetzt sollte ich alle jene auflisten die nicht mehr da sind. Das hat das Script auch super gemacht.
Danke
MfG
Wiefreak