# fichier_1 contient l'association entre les clefs et les valeurs : # A 10 # B 30 # C 20 # fichier_2 contient les données à transformer : # ID1 A # ID2 A # ID3 C # ID4 B awk 'FNR==NR{a[$1]=$2;next}{print $1,a[$2]}' <fichier_1> <fichier_2> # La sortie de la commande donnera le résultat suivant : # ID1 10 # ID2 10 # ID3 20 # ID4 30
FNR==NR
permet l'exécution du bloc suivant uniquement lors de la lecture du premier fichier.a[$1]=$2
permet de créer un tableau associatif avec les valeurs trouvées.next
permet de passer directement à l'enregistrement suivant.{print $1,a[$2]}
permet d'afficher une valeur et une valeur convertie.