Jointure
Jointure (en anglais join) : opération qui associe les enregistrements de deux sources partageant une clé commune, pour compléter les uns par les informations des autres : chaque signalement d'un export reçoit la population de sa commune, lue dans un référentiel. C'est l'opération de base des bases de données relationnelles (JOIN en SQL).
En ligne de commande, join de coreutils la réalise sur deux fichiers triés sur la clé, dans le même ordre de collation. awk la fait sans tri en chargeant le petit fichier dans un tableau associatif (le motif NR == FNR), puis en consultant ce tableau pour chaque ligne du grand. Il faut décider du sort des clés sans correspondance (les ignorer, les signaler, les compter) : une jointure qui perd des lignes en silence fausse un rapport.
Dans les cours
- Traiter du texte : grep, sed, awk, jq, leçon 1 : Penser en flux : lignes, champs et petits outils
- Traiter du texte : grep, sed, awk, jq, leçon 6 : awk : agréger, joindre et produire un rapport
- Traiter du texte : grep, sed, awk, jq, leçon 8 : jq : transformer, produire du JSON et choisir son outil