[SHELL] tr de tous les caracteres bizarres

Résolu/Fermé
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
- 19 mai 2008 à 11:07
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
- 19 mai 2008 à 14:35
Bonjour,

Je cherche à utiliser la commande tr pour traduire tous les caracteres bizarres en _.
Je dois conserver les points dans le texte en entrée...

echo "$VARIABLE" | tr [:punct:] '_'

Ca marche, sauf que ça enleve les points...et j'en ai besoin...!
Je veux tout autorisé y compris les é, etc... sauf le point. et les caracteres bizarres...

Est-ce que quelqu'un a une solution?
Meme en passant par plusieurs variables..peu m'importe!!

Merci! je galère depuis un moment...

3 réponses

Pourquoi ne pas inverser le problème ?


| tr -c [[:alnum:]\.] '_'

C'est-à-dire tout ce qui n'est pas alphanumérique ou un point devient "_"...

Pour les accents français, est-ce que votre shell/tr accepte ces caractères et la définition de :alnum: les comprend-il ?

Sinon Perl est votre ami car les dernières versions supportent bien Unicode. Perl a également un opérateur "tr".


P. A.
- o - O - o -
Unicode 5.0 en pratique ?
1
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 mai 2008 à 12:02
Bien joué ;-))

PS. Faut rajouter la classe "[:space:]" sans quoi...
0
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 mai 2008 à 11:54
Salut,

Je ne pense pas qu'on puisse exclure un caractère d'une classe d'appartenance.
Voilà une solution avec "sed", à toi de mettre ce que tu veux entre les crochets :
[tmpfs]$ echo ${var}
le . le ; les : et la , encore un . et une autre , ...

[tmpfs]$ echo ${var} | sed 's/[;:,]/_/g'
le . le _ les _ et la _ encore un . et une autre _ ...

[tmpfs]$
;-))
0
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
3
19 mai 2008 à 14:35
Merci pour toutes vos solutions...

Elles m'ont été utiles... JCa marche!
Merci à vous!
0