La fonction printf

awk propose la fonction intégrée printf similaire à celle du langage C. Elle permet de formater les affichages.

printf ("chaine",field1,field2,field3...fieldx)

chaine représente la chaine affichée à l'écran. Elle peut contenir des formats qui seront substitués par la valeur des expressions citées à la suite. Il doit y avoir autant de formats que d'expressions.

Formats souvent utilisés

Format Signification
%20s Affichage d'une chaine (string) sur 20 caractères (cadrage à droite par défaut)
%-20s Affichage d'une chaine (string) sur 20 caractères avec cadrage à gauche
%3d Affichage d'un entier/décimal sur 3 chiffres (cadrage à droite)
%03d Affichage d'un entier/décimal sur 3 chiffres (cadrage à droite) complété par des 0 à gauche
%-3d Affichage d'un entier/décimal sur 3 chiffres (cadrage à gauche)
%+3d Affichage d'un entier/décimal sur 3 chiffres (cadrage à droite) avec affichage systématique du signe (un nombre négatif est toujours affiché avec son signe)
%10.2f Affichage d'un nombre flottant sur 10 chiffres dont 2 décimales. (cadrage à droite)
%+010.2f Affichage d'un nombre flottant sur 10 chiffres dont 2 décimales, cadrage à droite, affichage systématique du signe, complétion par des 0 à gauche.

Exemple :

$ date | awk '{printf "%10s\n%-10s\n%d\n%15d\n%015d\n%-10d\n%+10d\n%10.2f\n%+010.2f\n" , $1 , $1 , $4 , $4 , $4 , $4 , $4 , 5.2 , 5.2}'
      mer.       # %10s
mer.       # %-10s
2012       # %d
           2012       # %15d
000000000002012       # %015d
2012       # %-10d
     +2012       # %+10d
      5.20       # %10.2f
+000005.20       # %+010.2f
$

Etiquettes: 

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.