• # Avec Zsh

    Posté par . En réponse au message Utilisation de awk pour la jointure de 2 fichiers. Évalué à 3.

    On déclare deux tableaux associatifs (on accède aux éléments par une clé plutôt que par un indice), puis on parcourt le premier fichier et on ajoute le dernier élément :

    typeset -A aa bb
    aa=( $(<1ドル) )
    bb=( $(<2ドル) )
    for k in ${(nk)aa} ; print $k $aa[$k] $bb[$aa[$k]]
    
    

    Ce qui nous donne :

    1 48102 Georges
    2 48103 Lili
    3 48152 Mélina
    4 48156 Chantal
    5 48189 Daniel
    
    

    On peut aussi parcourir le second fichier et remplacer les éléments manquants par « ? » :

    for k in ${(nk)bb} ; print ${(k)aa[(r)$k]:-\?} $k $bb[$k]
    
    

    Ce qui nous donne :

    ? 14 jean
    ? 503 Benjamin
    1 48102 Georges
    2 48103 Lili
    3 48152 Mélina
    4 48156 Chantal
    5 48189 Daniel
    ? 48512 Esthelle