# Affichage de couleurs avec awk

**URL:** <https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 10:39 UTC](https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247 "2016-02-20T22:39:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 10:39 UTC](https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247/1 "2016-02-20T22:39:03Z")

</div>

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

```auto
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?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 10:39 UTC](https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247/2 "2016-02-20T22:39:05Z")

</div>

```auto
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.

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 10:39 UTC](https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247/3 "2016-02-20T22:39:05Z")

</div>

merci!

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 20, 2016, 10:41 UTC](https://www.debian-fr.org/t/affichage-de-couleurs-avec-awk/27247/4 "2016-02-20T22:41:31Z")

</div>

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) :

```auto
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 :

```auto
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) :

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