Linux Commandes. · 5 min read · Sep 17, 2025
Tutoriel sur la commande Join de Linux pour les débutants (5 exemples)
Parfois, vous voudrez peut-être combiner deux fichiers d’une manière qui rend la sortie encore plus logique. Par exemple, il pourrait y avoir un fichier contenant le nom des continents, et un autre fichier contenant les noms des pays situés dans ces continents, et l’exigence est de combiner les deux fichiers de manière à ce qu’un continent et le pays correspondant apparaissent sur la même ligne.
C’est juste un exemple - il pourrait y avoir des centaines de cas d’utilisation similaires. Si vous êtes sur Linux et que vous recherchez un outil qui peut vous aider dans des situations comme celles-ci, vous voudrez peut-être jeter un œil à join, qui est une utilitaire en ligne de commande. Dans ce tutoriel, nous allons discuter de cette commande en utilisant des exemples faciles à comprendre.
Veuillez noter que tous les exemples mentionnés dans cet article ont été testés sur Ubuntu 16.04, et la version de la commande join que nous avons utilisée est 8.25.
Commande join de Linux
La commande join vous permet de combiner les lignes de deux fichiers sur un champ commun.
join [OPTION]... FICHIER1 FICHIER2Voici ce que dit la page de manuel à propos de cet outil :
Pour chaque paire de lignes d'entrée avec des champs de jointure identiques, écrivez une ligne sur la sortie standard. Le champ de jointure par défaut est le premier, délimité par des espaces. Lorsque FICHIER1 ou FICHIER2 (pas les deux) est -, lisez l'entrée standard.Les exemples suivants devraient vous donner une bonne idée de la façon dont fonctionne la commande join.
1. Comment combiner les lignes de fichiers en utilisant la commande join ?
Comprenons l’utilisation de base de la commande join. Supposons qu’il y ait deux fichiers (file1 et file2) qui contiennent les lignes suivantes :
1. Asie :
2. Afrique :
3. Europe :
4. Amérique du Nord :et
1. Inde
2. Nigéria
3. Les Pays-Bas
4. Les États-UnisMaintenant, vous pouvez combiner ces deux fichiers de la manière suivante :
join file1 file2Voici la sortie de la commande ci-dessus dans notre cas :

2. Comment faire en sorte que join imprime les lignes non appariées ?
Par défaut, la commande join n’imprime que les lignes appariées. Par exemple, même si file1 contient un champ supplémentaire (ligne numéro 5) :
1. Asie :
2. Afrique :
3. Europe :
4. Amérique du Nord :
5. Amérique du Sud :la jointure de file1 et file2 ne produira aucune sortie différente :

C’est parce que les lignes non appariées sont laissées de côté dans la sortie. Cependant, si vous le souhaitez, vous pouvez toujours les avoir dans la sortie en utilisant l’option de ligne de commande -a. Cette option nécessite que vous passiez un numéro de fichier afin que l’outil sache de quel fichier vous parlez.
Par exemple, dans notre cas, la commande serait :
join file1 file2 -a 1
Ainsi, vous pouvez voir que la ligne non appariée du numéro de fichier 1 (file1 dans notre cas) a également été affichée dans la sortie.
Notez que si vous souhaitez simplement imprimer les lignes non appariées (c’est-à-dire supprimer les lignes appariées dans la sortie), vous pouvez le faire en utilisant l’option de ligne de commande -v. Cette option fonctionne exactement de la même manière que -a.
Voici un exemple de l’option -v :

3. Comment fournir des champs de jointure personnalisés ?
Comme nous le savons déjà, join combine les lignes de fichiers sur un champ commun, qui est le premier champ par défaut. Cependant, si vous le souhaitez, vous pouvez spécifier un champ différent pour chaque fichier. Par exemple, considérez les contenus suivants dans file1 et file2, respectivement.
* 1. Asie :
& 2. Afrique :
@ 3. Europe :
# 4. Amérique du Nord :# 1. Inde
@ 2. Nigéria
& 3. Les Pays-Bas
* 4. Les États-UnisMaintenant, si vous voulez que le deuxième champ de chaque ligne soit le champ commun pour la jointure, vous pouvez le dire à l’outil en utilisant les options de ligne de commande -1 et -2. La première représente le premier fichier, la seconde fait référence au deuxième fichier. Ces options nécessitent un argument numérique qui fait référence au champ de jointure pour le fichier correspondant.
Par exemple, dans notre cas, la commande sera :
join -1 2 -2 2 file1 file2Et voici la sortie de cette commande :

Notez que si la position du champ commun est la même dans les deux fichiers (comme dans l’exemple que nous venons de discuter, où c’est 2), vous pouvez remplacer la partie -1 [champ] -2 [champ] dans la commande par -j [champ]. Donc dans notre cas, la commande deviendrait :
join -j2 file1 file2
4. Comment rendre l’opération de jointure insensible à la casse ?
Par défaut, l’opération de la commande join est sensible à la casse. Par exemple, considérez les fichiers suivants :
file1
A. Asie :
B. Afrique :
C. Europe :
D. Amérique du Nord :file2
a. Inde
b. Nigéria
c. Les Pays-Bas
d. Les États-UnisMaintenant, si vous essayez de joindre ces deux fichiers, en utilisant le champ commun par défaut (premier), rien ne se passera. C’est parce que la casse des éléments de champ dans les deux fichiers est différente. Pour faire en sorte que join ignore ce problème de casse, utilisez l’option de ligne de commande -i.
Voici la commande pour notre cas :
join -i file1 file2Et la capture d’écran suivante montre la commande en action :

5. Comment faire en sorte que join ne vérifie pas l’entrée triée ?
Par défaut, la commande join vérifie si l’entrée fournie est triée ou non, et signale si ce n’est pas le cas. Par exemple, considérez la sortie suivante lorsque les informations dans file1 n’étaient pas triées :

Maintenant, si vous souhaitez que cette erreur/avertissement disparaisse, vous pouvez le faire en utilisant l’option –nocheck-order. Voici la même commande, mais avec cette option activée :

Ainsi, vous pouvez voir que la commande join n’a pas vérifié l’entrée triée cette fois-ci.
Conclusion
Join peut ne pas être un outil très facile à comprendre, mais une fois que vous vous y habituez, il peut vous faire gagner beaucoup de temps dans certaines situations. Nous avons couvert la plupart des options de ligne de commande ici. Essayez-les, et une fois terminé, consultez la page de manuel de la commande pour le reste.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.