Forum Clubic

Besoin d'aide pour un script shell - supprimer ":" dans une chaine

Bonjour a tous, je debute dans les script shell
Je vous expose mon probleme:
J’aimerais suprimer “:” au millieu d’une chaine
Voici un exemple: key1=A0674F7E02285E56:C9F93B8D1192D7D9 (ma chaine)
je voudrais donc obtenir key2=A0674F7E02285E56C9F93B8D1192D7D9
Donc pour les suprimer j’ai pensé a ça:
key2=echo $key1 | tr -d :-:
ou key2=echo $key1 | tr -d “:-:”
ou key2=echo $key1 | tr -d “:”
Mais ça ne marche pas :’(
Quelqu’un pourait t’il m’aider? merci

$ echo A0674F7E02285E56:C9F93B8D1192D7D9 | tr -d :
A0674F7E02285E56C9F93B8D1192D7D9

ça marche :neutre:

Le probleme c’est que A0674F7E02285E56:C9F93B8D1192D7D9 change tout le temps.
et quand je fais:
key2=$ echo $key1 | tr -d : (key1 étant la chaine de 32 caracteres plus ce “:”)
sa me met une erreur “:28: tr: not found”
Les “:” sont conciderer comme une commande? faut t’il des guillemets? :??:

Je ne connais pas la commande tr … Et ça ça marche pas des fois ?

laChaine=$(echo $laChaine | sed "s/://g")

sinon si les deux points sont considérés comme des caractères spéciaux :

laChaine=$(echo $laChaine | sed "s/\://g")

ça marche nikel! Merci beaucoup!
:clap: :smiley: