[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: