1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
awk -v ficRef=fichier_2.txt '
function FctChrgt()
{
cpt=0;
# Pour chaque ligne du fichier passé en paramètre du awk
while (getline Tbuffer < ficRef > 0)
{
# Recuperer chaque valeur séparé par ";"
split(Tbuffer,Tab,/;/)
# Mettre ma 1ère valeur recuperer sur 4 caracteres (cadré à gauche avec des espaces à droite)
Tab[1]=sprintf("%-4s",Tab[1]);
# Mettre ma 2ème valeur recuperer sur 1 caractere (cadré à gauche avec des espaces à droite)
Tab[2]=sprintf("%-1s",Tab[2]);
# Concaténer les deux et mettre sa valeur dans le tableaux[n] : formant une clé
tabKey[cpt]=Tab[1]""Tab[2];
# Mettre le resultat correspondant dans le tableaux2[n] : formant le résultat de la clé
tabRes[cpt]=Tab[3];
# Incrementer compteur
cpt++;
}
}
BEGIN {
FS=";"
OFS=";"
FctChrgt()
}
{
# Recuperation et concatenation de 2 valeurs recuperer ultérieurement de fichier_1.txt (pas présent ici)
Var=tabTicket[15]""tabTicket[17];
# Pour chaque valeur du tableau
for (k=0;k<cpt;k++)
{
# Comparer si la clé du tableaux a l'index k est identique à la valeur de var
if(tabKey[k] == Var) {
# Si OUI, inscrire sa valeur dans une variables et sortir (astuce : mettre l'index k = à la taille du tableaux)
typeMUSI=tabRes[k];
k=cpt;
}
else
{
# Si NON, mettre à vide la variable
typeMUSI=" ";
}
}
...
} ' fichier_1.txt |