Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/10/2007, à 13:29

libre

[résolu] alignement de nombres

Bonjour,

Voila, je cherche à aligner correctement plusieurs nombres par rapport à leurs point décimal.
Mais comment faire ?

Je suis parti de ce script:
liste="10.2\n1\n.2\n102.23\n10"
echo -e $liste>`dirname $0`/fichier.txt
exit


Mais qu'en j'ouvre le fichier.txt

10.2
1
.2
102.23
10

Alors que moi, je recherche ce résultat:

  10.20
    1.00
    0.20
102.23
  10.00

Pouvez-vous m'aidez s.v.p

Dernière modification par libre (Le 09/10/2007, à 16:27)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#2 Le 08/10/2007, à 22:10

BlaireauOne

Re : [résolu] alignement de nombres

En faisant comme suit, ça fonctionne smile

liste="10.2 1.2 102.23 10"

>`dirname $0`/fichier.txt

for var in $(echo $liste) ; do
   printf %3.2f\\n ${var} | xargs -I {} printf %6s\\n {} >>`dirname $0`/fichier.txt
done

cat `dirname $0`/fichier.txt
exit

http://pwet.fr/man/linux/commandes/posix/printf
http://pwet.fr/man/linux/commandes/posix/xargs

Hors ligne

#3 Le 09/10/2007, à 16:20

libre

Re : [résolu] alignement de nombres

Merci beaucoup BlaireauOne,

Ton script fonctionne à merveille,
Pour ton info: j'ai du remplacer les "." par des "," dans "liste" pour que cela fonctionne


liste="10,2 1,2 102,23 10"

>`dirname $0`/fichier.txt

for var in $(echo $liste) ; do
   printf %3.2f\\n ${var} | xargs -I {} printf %6s\\n {} >>`dirname $0`/fichier.txt
done

cat `dirname $0`/fichier.txt
exit


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne