Objet : Discussions sur le logiciel libre
Archives de la liste
- From: jpcas <jpcas AT free.fr>
- To: linux-31 AT culte.org
- Subject: Re: [Linux-31] Remplacer des lettres par des nombres avec tr
- Date: Sun, 8 Mar 2020 13:50:44 +0100
Salut,
Le 08/03/2020 à 12:44, Claude MICOUIN (via linux-31 Mailing List) a écrit :
>> L="${tab%${i}*}"
> Ici, on définit une variable L à partir des variable i et tab? L'idée
> est de garder la liste des premières lettres jusqu'à i-1 (par exemple
> pour r, on s'arrête à q), c'est bien ça ?
Exactement.
> Par contre, j'ai pas réussi à comprendre ça fonctionne dans le
> détail... (% n'a rien à voir avec modulo je suppose)
>
Voir la man bash au paragraphe "Remplacement des paramètre"
Cette commande devrait t'y amener directement :
man -P "less -p \"^ +Remplacement des paramètres\"" bash
Retrait du motif correspondant au préfixe (# et ##)
Retrait du motif correspondant au suffixe (% et %%)
>
>> R="${#L}"
> Ici, j'imagine qu'on compte le nombre de caractères. Mais comment?...
>
Toujours dans le man bash au paragraphe "Remplacement des paramètre"
Voir "Longueur du paramètre"
Ça compte tout simplement la longueur de la chaîne contenue dans la
variable.
>
>> ((R++))
> On rajoute un pour compenser le i-1
>> printf "${R} "
> Et ici on affiche le résultat.
>
C'est tout a fait ça ;-)
Par contre la seconde solution avec un tableau est beaucoup plus simple
et peut même prendre en compte la différence de casse.
Il suffit de changer la ligne :
printf "${array[${i}]} "
par :
printf "${array[${i,}]} "
La différence est subtile, la virgule après le "i" qui convertit
automatiquement une lettre majuscule en minuscule :
$ ./array.sh a Z z A M e E m
1 26 26 1 13 5 5 13
Bon dimanche.
@
JP
- [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 04/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, manu chez Z, 05/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 06/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Pierre ESTREM, 06/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 06/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 06/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 06/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, Claude MICOUIN, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, jpcas, 08/03/2020
- Re: [Linux-31] Remplacer des lettres par des nombres avec tr, manu chez Z, 05/03/2020
Archives gérées par MHonArc 2.6.19+.