Affichage de couleurs avec awk

Bonjour.
Je souhaite afficher des couleurs avec awk.
Si je fais les choses ainsi, tout va bien.

COLOR="\033[0;33;40m"
NOMAL="\033[1;0m"
awk -F"\t" $FICHIER '{print "\033[0;33;40m"$1 "\t" "\033[1;0m"$2}'

Cependant, je voudrais pouvoir utiliser les variables COLOR et NORMAL. Mais je ne parviens pas à trouver la syntaxe qui convient…
Quelqu’un peut-il m’aider?

Je crois que je me suis votré dans l'utilisation de la variable NORMAL mais l'idée y est.

Je crois que je me suis votré dans l’utilisation de la variable NORMAL mais l’idée y est.

merci!

Bonjour,
La solution proposée fonctionne mais elle n’est pas la plus “propre”.
En voici 2 autres …

  1. Utilisation des variables d’environnement (cela nécessite d’exporter les variables) :
export COLOR="\033[0;33;40m"
export NOMAL="\033[1;0m"
awk -F"\t" $FICHIER '{print ENVIRON["COLOR"] $1 "\t" ENVIRON["NORMAL"] $2}'
  1. Passage de 2 variables à awk :
COLOR="\033[0;33;40m"
NOMAL="\033[1;0m"
awk -v color="${COLOR}" -v normal="${NORMAL}" -F"\t" $FICHIER '{print color $1 "\t" normal $2}'

Par ailleurs et à titre d’information. Il est possible d’afficher en colonne sous awk en précisant le séparateur de colonne (dans ton cas il s’agit d’une tabulation) Pour cela, il suffit de valoriser la variable OFS (Output Field Separator) :

awk ' BEGIN {OFS="\t"} { print col1, col2, col3, ..., coln} ' fichier