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: Claude MICOUIN <mlnglst AT free.fr>
  • To: linux-31 AT culte.org
  • Subject: Re: [Linux-31] Remplacer des lettres par des nombres avec tr
  • Date: Fri, 06 Mar 2020 19:43:40 +0100

Le vendredi 06 mars 2020 à 01:20 +0100, Pierre ESTREM a écrit :
> Bonsoir,
>
> Amusant, mais casse-tête !
>
> Je suggère que tu partes sur la base du code décimal des caractères
> ('a'
> -> 97 etc 'A' -> 65 etc) et soustraire selon, 64 ou 96...
>
> J'étudierais les commandes :
> * hexdump
> * bc (calcul)
> * $[...] (calcul)
Trop dur pour moi.

> * sed ?
J'ai fait avec sed

while read l n
do sed -i "s/$l/$n/g" fichier_a_chiffrer.txt
done < lettres_nombres.txt

lettres_nombres.txt est un fichier contenant les correspondances
lettre/nombre
a 1
b 2
c 3
d 4
etc etc

Merci et bonne soirée.
Claude MICOUIN


>
> Mine de rien c'est du boulot.
>
> Bonne chasse ;)
>
> pierre estrem
>
>
>
> 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