#1 Le 10/01/2008, à 22:04
- wlourf
[résolu script] résultat de sed dans une variable et non un fichier
Bonsoir,
avec le petit code suivant j'arrive à afficher ma variable comme je le veux mais je n'arrive pas à récupérer cette variable transformée pour la suite du script. J'ai cru lire que sed pouvait travailler aussi sur des variables mais je n'ai pas trouvé la bonne syntaxe ou sed n'est pas la commande adaptée à mon problème...
merci d'avance pour votre aide
# !/bin/bash
chaine="un : deux :trois?(4/5)"
echo $chaine
echo $chaine | sed -e "s/: /_/g" | sed "s/[:?/]/_/g"
#retourne un _deux _trois_(4_5) ok
Dernière modification par wlourf (Le 10/01/2008, à 23:02)
Hors ligne
#2 Le 10/01/2008, à 22:56
- Alain.g
Re : [résolu script] résultat de sed dans une variable et non un fichier
Salut
Si j'ai bien compris ce que tu veux, il faut utiliser une substitution de commandes, $( ) ou ` ` :
http://abs.traduc.org/abs-4.2.01-fr/ch11.html
chaine="un : deux :trois?(4/5)"
echo $chaine
chaine=$(echo $chaine | sed "s/: \|[:?/]/_/g")
echo $chaine
Xubuntu Karmic !
Hors ligne
#3 Le 10/01/2008, à 23:02
- wlourf
Re : [résolu script] résultat de sed dans une variable et non un fichier
Exactement ça merci bien!
Hors ligne
#4 Le 10/01/2008, à 23:15
- Alain.g
Re : [résolu script] résultat de sed dans une variable et non un fichier
sinon tu n'es pas forcément obligé de passer par "echo | sed" pour ce genre de substitutions :
#!/bin/bash
chaine="un : deux :trois?(4/5)"
chaine=${chaine//: /_}
chaine=${chaine//[:?\/]/_}
echo $chaine
cf : http://abs.traduc.org/abs-4.2.01-fr/ch09s02.html#substringreplacement
Xubuntu Karmic !
Hors ligne
#5 Le 11/01/2008, à 00:04
- wlourf
Re : [résolu script] résultat de sed dans une variable et non un fichier
ah oui, c'est ce que je me demandais, j'en apprends tous les jours !
Hors ligne