2017-02-08 6 views
0

Ich habe zwei Textdateien mit je 2 Spalten mit Tabs, und ich möchte die Übereinstimmungen zwischen ihnen finden. Die Dateien haben Spalten in umgekehrter Reihenfolge für die Informationen, die ich überprüfen möchte.So überprüfen Sie Übereinstimmungen zwischen zwei Dateien

Datei 1:

B.1  Av1 
Q7  G3 
Q9  S4 

File 2:

Av1  B.1 
G3  Q7  
S8  Q9 

Die Ausgabe sollte sein:

B.1  Av1  match 
Q7  G3  match 
Q9  S4  no match 

Ich weiß, dass ich die Reihenfolge der Spalten in der Datei ändern könnte 2 und sie vergleichen mit Datei 1 mit diff oder awk, aber ich frage mich, ob es einen einfacheren Weg gibt, um die Dateien zu vergleichen, die ich mache müssen die Spaltenpositionen nicht ändern.

Antwort

1

können Sie awk verwenden, ohne die Reihenfolge der Spalten zu ändern:

$ awk 'NR==FNR {a[$1]; next} {printf "%s\t%s\n", $0, $2 in a ? "match" : "no match"}' file2 file1 
B.1  Av1 match 
Q7  G3  match 
Q9  S4  no match 
+0

Dank! Es hat sehr gut funktioniert. – Paul

Verwandte Themen