Compter le nombre de chiffre dans une variable

Résolu/Fermé
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
- 10 janv. 2014 à 16:00
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
- 10 janv. 2014 à 16:35
Je cherche à compter le nombre de chiffre contenu dans une variable


mars> cat foo.sh
#!/bin/bash

i=10
echo $i | wc -m

j=5
echo $j | wc -m

mars> ./foo.sh
3
2

pour i=10 je voudrais obtenir 2 (il y a 2 caracteres) et pour i=5 je voudrais obtenir 1
et là j'ai toujours un décalage de 1

il y a t'il un autre moyen pour obtenir le nombre exact de caractere ?
j'ai essayé aussi ${#i} mais ça me renvoi toujours 1...

merci

2 réponses

dubcek
Messages postés
18503
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 mai 2022
5 548
Modifié par dubcek le 10/01/2014 à 16:29
hello
echo ajoute un \n, utiliser
echo -n $i | wc -m
${#i} doit fonctionner
$ i=10
$ echo ${#i}
2

0
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
140
10 janv. 2014 à 16:35
merci pour la réponse

le echo -n fonctionne
0