Umgang mit unübereinstimmenden Datensätzen
In realen Szenarien können Sie Datensätze in einer Datei haben, die keine entsprechenden Übereinstimmungen in der anderen Datei aufweisen. Simulieren wir dies, indem wir einen neuen Mitarbeiter hinzufügen, dem noch kein Gehalt zugewiesen wurde.
Fügen Sie diesen Mitarbeiter zu employees.txt
hinzu:
echo "1006 Alex IT" >> employees.txt
Der >>
-Operator hängt die neue Zeile am Ende der Datei an, ohne den bestehenden Inhalt zu überschreiben.
Nun, wenn wir unseren grundlegenden Join-Befehl ausführen:
join employees.txt salaries.txt
Sie werden bemerken, dass Alex nicht in der Ausgabe erscheint, da es keinen passenden Datensatz in salaries.txt
gibt.
Um unübereinstimmende Datensätze einzuschließen, können wir die -a
-Option verwenden:
join -a 1 employees.txt salaries.txt
Jetzt sollten Sie Alex in der Ausgabe sehen:
1001 John Engineering 75000
1002 Sarah Marketing 65000
1003 Mike Sales 70000
1004 Emily HR 60000
1005 David Finance 80000
1006 Alex IT
Die -a 1
-Option teilt join
mit, unparierbare Zeilen aus der ersten Datei (employees.txt
) einzuschließen. Dies ist nützlich, wenn Sie alle Datensätze aus einer Datei sehen möchten, auch wenn sie keine Übereinstimmungen in der anderen Datei haben.