#1 Le 20/08/2012, à 18:10
- Hizoka
[resolu] decoupe d'une chaine de nombre
Bonsoir,
je suis confronté à un petit soucis...
j'ai un nombre aleatoire, je voudrais que celui-ci soit decoupé par suite de 3 chiffres mais en partant de la fin.
ex :
taille=12345678
resultat voulu :
echo "$taille"
=> 12 345 678
alors j'ai trouvé ça :
rev <<< $taille | sed 's/\([0-9][0-9][0-9]\)/\1 /g' | rev
mais ca me parait bien lourd, y aurait-il moyen d'alleger le tout ?
merci
Dernière modification par Hizoka (Le 20/08/2012, à 20:10)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#2 Le 20/08/2012, à 19:06
- Tycho Brahe
Re : [resolu] decoupe d'une chaine de nombre
Salut,
En fonction de ton usage, je te propose une piste de réflexion plus qu'une véritable solution :
printf "%'d\n" 12345678
En effet :
- Le caractère de séparation dépends de la locale. Chez moi, ayant un système entièrement configuré en en_US c'est la virgule. Tu peux jouer dessus pour obtenir un espace.
- Le format n'est pas reconnu partout ! Par exemple, zsh ne reconnais pas l'apostrophe qui permet de faire el regroupement par rangées de 3. C'est mauvais à risques si tu veux diffuser ton script.
Loi de Newton :
Si tu restes à glander sous le pommier, tu pourrais bien prendre une pomme sur la gueule.
Hors ligne
#3 Le 20/08/2012, à 20:09
- Hizoka
Re : [resolu] decoupe d'une chaine de nombre
ca m'arche pas mal
Ok pour les risques, je garde ma methode en commentaire !
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne