Daten vergleichen

Z

ZottelRocker

Grünschnabel
Hallo liebe Community,

ich möchte mit ein Shellskript 2 Dateien vergleichen in denen zeilenweise eine Zahl und eine Bezeichnung stehen. Ich wollte es mit einem Array versuchen sprich eine Zeile einlesen und mit grep bei der zweiten Datei danach suchen lassen aber hab die Sache mit dem Array nicht hinbekommen und könnte mir vorstellen das es da sogar eine Alternative gibt die ich leider nicht gefunden habe.

Wichtig ist das Zeile 1 von File1 irgendwo in File 2 vorhanden sein muss danach Zeile 2 von File 1 irgendwo in File 2 usw. Der diff Befehl hat mir dabei also nicht geholfen oder hatte ich da etwas übersehen?


So könnten die Dateien aufgebaut sein:

Datei1

123 a
234 b

Datei2

234 b
443 c
123 a


vielen Dank
 
Hi,

quick & dirty: warum nicht einfach die beiden Dateien sortieren, und dann mit "comm" die Zeilen rausfiltern, die in beiden vorkommen, etwa so:
Code:
sort <Datei1 >Sortiert1
sort <Datei2 >Sortiert2
comm -12 Sortiert1 Sortiert2

Gruss
 
Danke für die Antwort.

Problem jedoch ist das ich gerne wüsste welche Zeile in Datei2 NICHT vorhanden ist. Ich denke jedoch das es mit dem comm Befehl auch funktioniert. Könntest du mir da nochmals weiterhelfen?

Danke und Grüße
 

Ähnliche Themen

Bash - Zwei Binärdateien vergleichen (SQL Diff)

Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Queue für copy Script

Suchen und ersetzen in einer Textdatei

Zurück
Oben