Re: [SHELL] remplacer un caractère dans une sous-chaine
zelos 414 a écrit :
echo "description[perm ission denied] " | sed -e 's/\[.*\ .*]/\[\.*_\.*\]/g'
Tu ne peux pas mettre de .* dans la chaine de substitution, tu dois utiliser les références arrières
echo "description[perm ission denied] " | sed -e 's/\[\(.*\)\ \(.*\)]/[\1_\2]/g'
marchera mieux (un peu, car ça ne substitue que la derniere espace située entre crochet, le .* est gourmand).
tr ' ' '_'
echo "description[perm ission denied] " | tr ' ' '_'
marche très bien, mais tu n'as pas de regexp pour trier tes espaces à substituer.
--
Daniel
Reply to: