Accéder au contenu.
Menu Sympa

linux-31 - Re: [Linux-31] Remplacer des lettres par des nombres avec tr

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: [Linux-31] Remplacer des lettres par des nombres avec tr


Chronologique Discussions 
  • 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: Fri, 6 Mar 2020 07:50:35 +0100

Salut,

Un truc comme ça ?


$ cat foo.sh
#! /bin/bash
#set -xv

tab='abcdefghijklmnopqrstuvwxyz'

for i in ${@}
do
L="${tab%${i}*}"
R="${#L}"
((R++))
printf "${R} "
done

Ce qui donne :

$ ./foo.sh a n d z t
1 14 4 26 20


On doit pouvoir faire encore plus simple avec un tableau, mais c'est pas
mon truc ;-)

@+
JP


Le 04/03/2020 à 23:35, Claude MICOUIN (via linux-31 Mailing List) a écrit :
> Bonsoir la liste,
> Je cherche à remplacer chaque lettre d'un fichier par leur numéro
> d'ordre dans l'alphabet:
> a -> 1
> b -> 2
> etc.
>
> Ça marche très bien jusqu'à 9 avec la commande tr
> $ echo 'b f a i c h' |tr "[a-k]" "[0-9]"
> 1 5 0 8 2 7
>
> Mais ça se gâte dès qu'on arrive à un nombre à deux chiffres:
> $ echo 'b f a i c h' |tr "[a-z]" "[0-26]"
> 1 ] 0 ] 2 ]
>
> J'ai essayé de changer les " pour des ' dans tous les sens, aucun
> résultat.
> Quelqu'un saurait où ça foire ?
> Merci.
> Bonne soirée.
> Claude MICOUIN
>




Archives gérées par MHonArc 2.6.19+.

Haut de le page