3 votes

Comment restreindre les décimales en awk sans arrondir

Je veux imprimer 0,74 pour 0,748.

Si j'utilise

awk '{printf "%0.2f\n",$1}' nom_fichier

pour 0.748, il imprime 0,75. Mais je veux 0,74 et supprimer la partie restante. Pour 77,348 il devrait être 77,34.

Des idées ?

Il n'y a pas de

gawk -M

option pour utiliser ROUNDMODE="Z" ??

Je n'ai même pas pu trouver les fonctions plafond et plancher non plus.

1voto

A.B. Points 84870

Utilisation de awk

  • avec print

    awk -F. '{print $1"."substr($2,1,2)}' nom_fichier

ou

  • avec printf

    awk -F. '{printf "%0.2f\n",$1"."substr($2,1,2)}' nom_fichier

Exemple

$ awk -F. '{print $1"."substr($2,1,2)}' foo
0.74
77.65

$ awk -F. '{printf "%0.2f\n",$1"."substr($2,1,2)}' foo
0.74
77.65

$ cat foo
0.748
77.657

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X