Bonjour,
J'ai un fichier csv en entrée qui se présente comme ceci :
1 2 3 4 5 6 7
| col1;col2
CC;ZZ
ZZ;BB
BB;SS
EE;QQ
GG;WW
WW;ZZ |
Je souhaite avoir en sortie ceci :
1 2 3 4
| col1;col2
CC;SS
EE;QQ
GG;ZZ |
Je m'explique pour le premier résultat attendu. Les autres suivent le même raisonnement :
- je lis la première ligne et je note la valeur de la col1, ici CC
- toujours sur cette ligne, je prends le contenu de col2, ici ZZ
- je recherche la chaîne ZZ dans la suite du fichier et sur la première colonne
- je la trouve, le prends la valeur de la col2, ici BB
- je recherche la chaîne BB dans la suite du fichier et sur la première colonne
- je la trouve, le prends la valeur de la col2, ici SS
- je recherche la chaîne SS dans la suite du fichier et sur la première colonne
- je ne la trouve pas, j'affiche la valeur de col1 lue au tout début et la valeur de col2 de la dernière trouvaille, ici CC;SS
J'ai déjà posé cette question sur le forum SQL et j'ai eu une réponse mais comme j'ai aussi la possibilité d'utiliser le shell, je fais appel à votre expertise en shell/Awk/Sed.
Merci pour votre aide.
Partager