Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
suppression de caractère en bash
Envoyé par: Ubuntu66

bonjour,


j'ai une variable en bash contenant l'adresse mac de mon linux.
ex:
addrmac="0:90:ec:69:2b:d"
je souhaite supprimer les : dans la chaîne de variable et stocker le nouveau résultat.
j'ai essayé:
eval addrmac=${addrmac//:/}

ça fonctionne sous bash. toutefois je suis sur le sh (busybox) et ça fonctionne pas "bad substitution"

y aurait-il d'autres méthodes pour effectuer ce traitement?

Poste le Friday 31 August 2007 10:08:24
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: oudoubah

Si tu as tr de disponible, c'est l'idéal :
addrmac=${echo $addrmac | tr -d ':'}


Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 31 August 2007 10:17:40
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: Ubuntu66

Citation
oudoubah
Si tu as tr de disponible, c'est l'idéal :
addrmac=${echo $addrmac | tr -d ':'}


> A l'heure actuelle, il s'est formé une sorte
"d'aristocratie" de Linux qui essaye de maintenir
ses connaissances pour elles et d'en priver les
autres en innondant chaque débutant de
documentations
-+- EF in Guide du linuxien pervers : "Comprenne
qui pourra..." -+-


maouis j'ai toujours le même problème. en fait:
echo $addrmac | tr -d ':' -> ça fonctionne très bien
mais quand j'essaye l'affectaion addrmac=${echo $addrmac | tr -d ':'} , ça fonctionne pas.

Poste le Friday 31 August 2007 10:27:43
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: Ubuntu66

c'est bon j'ai trouvé.
Pour info:

addrmac="0:90:ec:69:2b:d"
commande=$( echo $addrmac | tr -d ':' )
eval addrmac=\$commande

echo $addrmac

Poste le Friday 31 August 2007 10:36:12
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: oudoubah

Je viens de m'apercevoir que j'ai ^^D-*

Ce n'est pas
addrmac=${echo $addrmac | tr -d ':'}
mais
addrmac=$(echo $addrmac | tr -d ':')



Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 31 August 2007 11:53:10
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: Sve@r

Citation
oudoubah
Si tu as tr de disponible, c'est l'idéal :
addrmac=${echo $addrmac | tr -d ':'}
C'est marrant. T'es un fana du sed mais là, dans un pb qui pour moi est typique du sed tu te branches tr ^^D-*


Citation
oudoubah
Je viens de m'apercevoir que j'ai

Ce n'est pas
addrmac=${echo $addrmac | tr -d ':'}
mais
addrmac=$(echo $addrmac | tr -d ':')

Ah ben si tu revenais aux bonnes vieilles méthodes tu ferais pas l'erreur
addrmac=`echo $addrmac | tr -d ':'`
yawning smiley)

L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Tuesday 4 September 2007 10:45:55
Répondre     Citer    
Re: suppression de caractère en bash
Envoyé par: oudoubah

Citation
Sve@r
C'est marrant. T'es un fana du sed mais là, dans
un pb qui pour moi est typique du sed tu te
branches tr

Il faut changer de temps en temps. Pour ce qui est suppression ou substitution d'un caractère défini, je préfère tr. C'est plus léger.

Mais sinon j'avais pensé aussi à awk. yawning smiley)

Citation
Sve@r
Ah ben si tu revenais aux bonnes vieilles méthodes
tu ferais pas l'erreur

:ange:


Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 4 September 2007 20:11:26
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
suppression de caractère en bash
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons