Pages : 1
#1 Le 08/10/2007, à 12: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, à 15:27)
La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.
Hors ligne
#2 Le 08/10/2007, à 21:10
- BlaireauOne
Re : [résolu] alignement de nombres
En faisant comme suit, ça 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
http://pwet.fr/man/linux/commandes/posix/printf
http://pwet.fr/man/linux/commandes/posix/xargs
Hors ligne
#3 Le 09/10/2007, à 15: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