Extraire un caractère d'une chaine
Résolu/Fermé
A voir également:
- Extraire un caractère d'une chaine
- Caractère ascii - Guide
- Extraire une video youtube - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Extraire son video - Guide
4 réponses
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
259
15 avril 2013 à 19:32
15 avril 2013 à 19:32
Salut,
en général si tu utilises une boucle en shell tu peux te dire que tu as zappé quelque chose ! ;-)
Il y a 2 commandes qui sont parfaites pour ton cas :
tr qui converti ou supprime les caractères choisis dans une chaîne
wc qui compte le nombre de caractère (ou de mots ou de lignes)
utilise man tr et man wc pou avoir plus d'infos.
La ligne de code qui va bien :
en général si tu utilises une boucle en shell tu peux te dire que tu as zappé quelque chose ! ;-)
Il y a 2 commandes qui sont parfaites pour ton cas :
tr qui converti ou supprime les caractères choisis dans une chaîne
wc qui compte le nombre de caractère (ou de mots ou de lignes)
utilise man tr et man wc pou avoir plus d'infos.
La ligne de code qui va bien :
n=$(echo $chaine | tr -cd '.' | wc -c)
Cool génial merci ! J'avais pensé à wc, mais je ne connaissais pas du tout la commande "tr", effectivement c'est parfaitement ce qu'il me fallait. =)
Au vu du man, cette commande n'a pas l'air d'être simple à appréhender au début mais ça devrait aller.
Pour l'histoire de la boucle, c'est également noté.
Tu aurais une piste pour le passage de chaque caractère en tableau du coup, c'est à dire récupérer chaque caractère un à un ? Car en fait, je vais plus tard devoir représenter ces 81 caractères sous forme d'une matrice de 9*9, elle même composée de 9 matrices de 3*3.
Au vu du man, cette commande n'a pas l'air d'être simple à appréhender au début mais ça devrait aller.
Pour l'histoire de la boucle, c'est également noté.
Tu aurais une piste pour le passage de chaque caractère en tableau du coup, c'est à dire récupérer chaque caractère un à un ? Car en fait, je vais plus tard devoir représenter ces 81 caractères sous forme d'une matrice de 9*9, elle même composée de 9 matrices de 3*3.
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
259
15 avril 2013 à 20:24
15 avril 2013 à 20:24
Y a de la doc par là : https://abs.traduc.org/abs-5.0-fr/ch09s02.html
bonne continuation !
PS : ton premier script ne fonctionnait pas car i ne prenait qu'une seule valeur dans la boucle i='seq 0 80' Il aurait fallu écrire for i in $(seq 0 80)
bonne continuation !
PS : ton premier script ne fonctionnait pas car i ne prenait qu'une seule valeur dans la boucle i='seq 0 80' Il aurait fallu écrire for i in $(seq 0 80)