Nombre de cacarecteres

Fermé
fred - 25 oct. 2010 à 17:49
 fred - 26 oct. 2010 à 09:50
Bonjour,


Je souhaiterais savoir tout simplement comment dans la suite de mon ksh voir ci dessous comment je peux tester la valeur d 'une variable voici mon code :

#recuperation du nombre de ligne d un fichier
nb_en='wc -l $DONNEES/import/hf02aaaa.hd.$DT | awk '{print $1}''

//voila ce que je veux faire en pseudo code
if length($nb_en) > 6 then
$nb_en=99999
else
#on cadre avec des zeros à gauche
typeset -Z5 nb_en=${nb_en}
fi

je ne connais pas bien la syntaxe , la commande if ne doit pas marcher

Merci de votre aide

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 oct. 2010 à 19:28
Salut,

$ cat fred.ksh
#! /bin/ksh

for VAR in 55 100000
do
NB=$(expr "${VAR}" : ".*")     # Récupération nbre caractères
if [ "${NB}" -ge "6" ]     # Test chaine supérieure ou égale
then
echo "${VAR} = 99999"
else
printf "${VAR} = %05d\n" "${VAR}"     # formatage sur 5 caractères
fi
done

$ ./fred.ksh
55 = 00055
100000 = 99999

;-))
0
merci ça marche
0