#1 Le 23/02/2007, à 16:32
- jjack
[résolu]comment substituer un caractère par un autre en ksh ??
Bonjour,
quelq'un saurait il me dire comment substituer un caractère dans une chaine de caractère ou une variable...
ex : transformer 3.2.5.1 en 3,2,5,1
Merci
Dernière modification par jjack (Le 01/03/2007, à 13:27)
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#2 Le 23/02/2007, à 16:38
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
Bonjour,
Dans quelle application?
Dans emacs, tu fais
M-x replace-string . , !
Dans gedit, tu fais remplacer dans le menu rechercher.
Dernière modification par best_friend_fr (Le 23/02/2007, à 16:38)
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#3 Le 23/02/2007, à 17:00
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
quelq'un saurait il me dire comment substituer un caractère dans une chaine de caractère ou une variable...
pour une variable shell , tu peux utiliser sed par exemple
cf: man sed
chaine="3.2.5.1 5.2.6.2 5.7.8.2"
echo $chaine
echo $chaine | sed "s/\./\,/g"
#4 Le 23/02/2007, à 17:09
- jjack
Re : [résolu]comment substituer un caractère par un autre en ksh ??
bonjour,
Il me semble qu'en awk on pouvait egalement le faire mais je ne retrouve pas.
Sais tu me dire
Merci any...
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#5 Le 23/02/2007, à 17:19
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
gsub dois faire l'affaire (cf man awk
sinon surement un truc du style
echo $chaine | awk '{gsub("\.",","); print $0}'
#6 Le 23/02/2007, à 17:26
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
echo $chaine | awk '{gsub("[.]",","); print $0}'
car awk n'aime pas beaucoup les \. (enfin, chez moi)...
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#7 Le 23/02/2007, à 17:29
- jjack
Re : [résolu]comment substituer un caractère par un autre en ksh ??
ok
Merci beaucoup
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#8 Le 23/02/2007, à 17:39
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
arf oui [] a l'air plus juste par contre car les 3 passent chez moi
echo $chaine | awk '{gsub("\.",","); print $0}'
echo $chaine | awk '{gsub("[.]",","); print $0}'
echo $chaine | awk '{gsub("\\.",","); print $0}'
#9 Le 23/02/2007, à 17:42
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
Tiens, chez moi, la première ne passe pas.
Il dit qu'il considère \. comme ., et donc, il remplace tous les caractères par des ,
echo $chaine | awk '{gsub("\.",","); print $0}'
awk: AVERTISSEMENT: séquence d'échappement « \. » traitée simplement comme « . »
,,,,,,,,,,,,,,,,,,,,,,,
En revanche, la 3e passe très bien
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#10 Le 23/02/2007, à 17:48
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
hum peut etre une histoire de mawk et awk ?
moi awk -W version me donne .
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
et dans le man mawk
If you escape any other character \c, you get \c, i.e., mawk ignores
the escape.
#11 Le 23/02/2007, à 17:49
- jjack
Re : [résolu]comment substituer un caractère par un autre en ksh ??
Yessssss
j'abuse...:rolleyes:
Mais comment rediriger le résultat dans une autre variable...car la variable d'origine n'est pas affecté et elle va me servir en l'état.
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#12 Le 23/02/2007, à 17:52
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
bon aller c'est la derniere fois !
chaine2=`echo $chaine | awk '{gsub("\\.",","); print $0}'`
#13 Le 23/02/2007, à 17:53
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
chaine2=`commande`
Beuh, snif, grillé sur le fil
Dernière modification par best_friend_fr (Le 23/02/2007, à 17:53)
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#14 Le 23/02/2007, à 17:55
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
Sachant que maintenant, il faut mettre 4 \
Sinon, le bash les interprète à chaque fois...
chaine2=`echo $chaine | awk '{gsub("\\\\.",","); print $0}'`
la méthode [] fonctionne toujours
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#15 Le 23/02/2007, à 17:57
- jjack
Re : [résolu]comment substituer un caractère par un autre en ksh ??
OK
merci j'avais pas capté qu'a chaque niveau un \ est interprété
Merci beaucoup
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#16 Le 23/02/2007, à 18:03
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
@best_friend_fr
tu utilise awk ou mawk ?
sinon
si [] fonctionne toujours , [] est surement plus juste .
#17 Le 23/02/2007, à 18:06
- best_friend_fr
Re : [résolu]comment substituer un caractère par un autre en ksh ??
J'ai mawk et gawk (mais manifestement, la commande awk renvoie sur gawk).
Effectivement tes commandes marchent avec mawk.
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#18 Le 23/02/2007, à 19:10
- any
Re : [résolu]comment substituer un caractère par un autre en ksh ??
ah ok gawk , donc vaut mieux utiliser une methode compatible!
mais bon moi j'aime bien mon \.
echo $chaine | gawk '{gsub(/\./,",");print}'
#19 Le 26/02/2007, à 11:12
- jjack
Re : [résolu]comment substituer un caractère par un autre en ksh ??
Moi j'utilise AWK...
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne