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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 139
10 janv. 2014 à 16:35
merci pour la réponse

le echo -n fonctionne
0