Hi Ich habe zwei ähnliche Dateien (beide mit 3 Spalten). Ich würde gerne überprüfen, ob diese beiden Dateien die gleichen Elemente enthalten (aber in einer anderen Reihenfolge aufgeführt). Zuallererst möchte ich nur die ersten Spalten vergleichen
file1.txt
%Vor%file2.txt
%Vor%Wie kann ich es mit awk tun? Ich habe versucht, mich umzusehen, aber ich habe nur komplizierte Beispiele gefunden. Was, wenn ich auch die anderen beiden Spalten zum Vergleich hinzufügen möchte? Die Ausgabe sollte mir die Anzahl der übereinstimmenden Elemente geben.
Um die gemeinsamen Elemente in beiden Dateien zu drucken:
%Vor%Erläuterung:
NR
und FNR
sind awk
Variablen, die die Gesamtanzahl der Datensätze bzw. die Anzahl der Datensätze in den aktuellen Dateien speichern (der Standarddatensatz ist eine Zeile).
Wenn Sie die ganzen Zeilen abgleichen möchten, verwenden Sie %code%
:
Oder eine bestimmte Gruppe von Spalten:
%Vor% Um die Anzahl der übereinstimmenden Elemente zu drucken, verwenden Sie awk
:
Ergebnisse mit Ihrer Eingabe:
%Vor%Wenn Sie zusätzliche Spalten hinzufügen möchten (z. B. Spalten eins, zwei und drei), verwenden Sie ein pseudo-multidimensionales Array :
%Vor%Ergebnisse mit Ihrer Eingabe:
%Vor%Tags und Links comparison awk compare two-columns