[awk] Joindre des fichiers en les triant
Bonjour
Je souhaite réaliser une jointure où AWK prendre le nom d'une ligne dans un premier fichier, le placer en champs 1 dans le fichier output, puis va dans un second fichier prend les noms étendus et les place en champs 2.
Voici les input
fichier_1:
Code:
1 2 3 4
| AB-00050832
AB-00058394
AB-00050862
AB-00004123 |
fichier_2:
Code:
1 2 3 4 5 6 7 8
| AB-00050832-18.....1....-8.900758
AB-00058394-10.....2....-7.981418
AB-00050832-24.....3....-7.634420
AB-00050862-10.....4....-7.621671
AB-00004123-1......5....-7.386272
AB-00058394-6......6....-7.383604
AB-00050832-12....14....-7.038594
AB-00050862-6.....50....-6.701126 |
output:
(fichier_1).........(fichier_2 retrié)
Code:
1 2 3 4 5 6 7 8 9 10 11
| AB-00050832....AB-00050832-18.....1....-8.900758
...............AB-00050832-24.....3....-7.634420
...............AB-00050832-12....14....-7.038594
AB-00058394....AB-00058394-10......2...-7.981418
...............AB-00058394-6.......6...-7.383604
AB-00050862....AB-00050862-10......4...-7.621671
...............AB-00050862-6......50...-6.701126
AB-00004123....AB-00004123-1.......5...-7.386272 |
J'ai ajouté des points et des sauts de lignes pour mieux visualiser, mais ils ne sont pas utiles ni à prendre en compte.
fichier_2 est retrié en fonction de fichier_1 en suivant l'ordre de fichier_1 dans le champs 2.
Il est juste important de garder l'ordre dans lequel apparaît le nom dans fichier_1. J'ai essayé avec un getline mais j'ai l'impression qu'il y a quelque chose que je n'arrive pas à débloquer.
Si vous avez une idée, merci beaucoup!