[KSH] Connaitre le nombre de valeurs dans une liste ??

Connaitre le nombre de valeurs dans une liste ?? [KSH] - Shell/Batch - Programmation

Marsh Posté le 15-01-2004 à 11:42:41    

Voilà mon problème du jour : J'ai une liste de valeurs, de longueur non fixe, qui est transmise par un utilisateur. Cette liste est rangée dans une variable.
En fait, j'aurais besoin de savoir combien de valeurs sont présentes dans la liste.
 
Exemple de liste :
liste="valeur1,valeur2,valeur3,valeur4,valeur5"
 
Resultat attendu : longueur=5
 
Je crois que c'est faisable avec un awk, mais j'arrive pas à lui faire manipuler une variable (apparement, ça marcherait pour un fichier, mais pas pour une variable ...
 
Merci.


Message édité par juan72 le 15-01-2004 à 11:43:46
Reply

Marsh Posté le 15-01-2004 à 11:42:41   

Reply

Marsh Posté le 15-01-2004 à 13:10:21    

j'ai essayé de contourner le problème, en rangeant ma liste de valeurs dans un fichier, puis :
awk -F "SEPARATEUR" -f FICHIER `(print $NF)`
Mais dans ce cas, le programme mouline sans me rendre la main ...
du coup, ^C obligé  :( ... et pas de résultat ...
 
Personne pour me tuyauter ??

Reply

Marsh Posté le 15-01-2004 à 15:30:39    

tu parses ta liste et tu comptes nb_de_valeurs = nb_de_séparateurs +1 ?

Reply

Marsh Posté le 15-01-2004 à 15:40:01    

dalcap a écrit :

tu parses ta liste et tu comptes nb_de_valeurs = nb_de_séparateurs +1 ?


 
un awk ne serait pas plus léger dans l'utilisation ??
Il me semble que tu peux faire ça tout bêtemment avec le awk .... j'aurais tout faux alors ?? :heink:

Reply

Marsh Posté le 15-01-2004 à 16:56:56    

ok, solution trouvée :
VARIABLE=liste de valeurs
echo VARIABLE|awk -F"SEPARATEUR" '{print NF}'
 
et non
echo VARIABLE|awk -F"SEPARATEUR" `(print NF)`
 
donc problème de syntaxe lié aux quotes et parenthèses !!!
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed