Pour la commande awk, il y a deux prints:- print, qui ajoute automatiquement un \n à la fin, comme la command echo,
- printf, qui n'ajoute pas de \n à la fin, comme la command echo -n.
Donc lorsque j'écris print "", cela veut dire "affiche rien, suivi d'un retour-chariot". J'aurais pu écrire printf "\n". Ce que j'ai écrit fonctionne correctement sur Linux avec gawk version 3.1.3 et 3.1.5.
Je tiens à souligner la manière d'écrire le caractère ' dans le programme awk, ce n'est pas trivial:
awk '{... printf "'\''"...}'
La première partie rouge n'est pas modifiée,
La seconde partie, bleue, est interprétée par le shell pour écrire le caractère ', puis concaténée avec la première partie,
La troisième partie, rouge, n'est pas modifiée et concaténée à la suite. Le tout est donné à la commande awk.
Je n'ai pas réussi à écrire le caractère ' directement dans le programme awk, impossible de l'échapper: \'.
Partager