Gérer les enregistrements non appariés
Dans les scénarios du monde réel, vous pourriez avoir des enregistrements dans un fichier qui n'ont pas de correspondance dans l'autre fichier. Simulons cela en ajoutant un nouvel employé qui n'a pas encore de salaire affecté.
Ajoutez cet employé à employees.txt
:
echo "1006 Alex IT" >> employees.txt
L'opérateur >>
ajoute la nouvelle ligne à la fin du fichier sans écraser le contenu existant.
Maintenant, si nous exécutons notre commande de jointure de base :
join employees.txt salaries.txt
Vous remarquerez qu'Alex n'apparaît pas dans la sortie car il n'y a pas d'enregistrement correspondant dans salaries.txt
.
Pour inclure les enregistrements non appariés, nous pouvons utiliser l'option -a
:
join -a 1 employees.txt salaries.txt
Maintenant, vous devriez voir Alex dans la sortie :
1001 John Engineering 75000
1002 Sarah Marketing 65000
1003 Mike Sales 70000
1004 Emily HR 60000
1005 David Finance 80000
1006 Alex IT
L'option -a 1
indique à join
d'inclure les lignes non appariées du premier fichier (employees.txt
). Cela est utile lorsque vous souhaitez voir tous les enregistrements d'un fichier, même s'ils n'ont pas de correspondance dans l'autre fichier.