So vergleichen Sie zwei Spalten aus zwei verschiedenen Dateien

So vergleichen Sie zwei Spalten aus zwei verschiedenen Dateien

Ich habe zwei Dateien. Die erste enthält so etwas wie:

a.com,5,some,text
b.com,10,some,text
c.com,5,some,text
d.com,12,some,text
e.com,5,some,text
c.com,5,some,text

Der zweite enthält etwa:

c.com,5,some,text
d.com,12,some,text
a.com,5,some,text
b.com,10,some,text
e.com,5,some,text
c.com,5,some,text

Ich möchte die ersten beiden Spalten der beiden Dateien sortieren und vergleichen. Ich gehe davon aus, dass sie ähnlich sein sollten. Wenn es einen Unterschied gibt, möchte ich wissen, wo dieser Unterschied liegt.

Antwort1

In Bash:

diff <(sort file1 | cut -d , -f 1-2) <(sort file2 | cut -d , -f 1-2)

Es werden jedoch diffnur zwei Spalten angezeigt, sodass die Ausgabe (falls ein Unterschied besteht) auf diese beschränkt ist. Ich weiß nicht, ob das für Sie akzeptabel ist.

Diese einfache Lösung schlägt fehl, wenn Ihre DateienUmgang mit Kommas, Anführungszeichenusw. In diesem Fall sollten spezialisiertere Tools verwendet werden (z. B. die Dateien in eine Tabellenkalkulation importieren und dort arbeiten).

verwandte Informationen