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-Key: 214262

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

Printed on: April 19, 2024 at 21:04 o'clock

Member: bastla
Solution bastla Aug 14, 2013, updated at Oct 11, 2014 at 09:42:03 (UTC)
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
Member: Endoro
Endoro Aug 14, 2013 updated at 08:15:35 (UTC)
Goto Top
Hallo, Vorschlag mit awk:
awk "NR==FNR {a[$1]; next}; !($1 in a) {print}" vorlage.csv Muell.csv > Fehler.csv  
lg.
Member: Wiefreak
Wiefreak Aug 14, 2013 at 08:11:37 (UTC)
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