Comment dans gawk créer un fichier .log avec une redirection ?
Bonjour,
Dans un script, j'utilise gawk selon ce schéma :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| gawk -N -F ';' -v var1=1.0 '
{
if CONDITION
{
printf("%12s", $1)
printf(";")
printf("%8s", $3)
printf(";")
#etc . . .
printf ("\n")
}
} ' ftmp8a1.csv > ftmp8a2.csv |
Ce schéma marche bien.
Quand la condition "CONDITION" n'est pas vérifiée, je souhaiterais créer, en plus, un fichier d'anomalie en .log reprenant certains champs.
Je n'y arrive pas !
J'ai complété le code précédent, mais je n'arrive pas à obtenir un code correct.
Code modifié avec "else" incorrect :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| echo "TitreCol1;TitreCol2;TitreCol3;TitreCol4;TitreCol5" > f8a.csv
gawk -N -F ';' -v var1=1.0 '
{
if CONDITION
{
printf("%12s", $1)
printf(";")
printf("%8s", $3)
printf(";")
#etc . . .
printf ("\n")
}
else
{
echo "$10;$2;$5;$9;var1" >> f8a.log
}
} ' ftmp8a1.csv > ftmp8a2.csv |
La redirection dans le "else" ne fonctionne pas.
Peut-on faire autrement ? ou Qu'est-ce qui cloche ?