Le 08/09/2023 à 19:19, peterpan31 (via linux-31 Mailing List) a écrit :
Je veux remplacer les chiffres représentés s par la regexp [0-9]+ en auvegardant le fichier modifié.Je fais : Volume=$1 CONF=un-fichier-texte sed -i.bak "s@^\(DefaultVolume +\)[0-9]+$@\1$Volume@" "$CONF" Où fais-je la bourde ?
1) En regex de base (sans -E) "+" n'est pas un caractère spécial, donc il faut le préfixer par \ comme les parenthèses.
2) "$@" est substitué par le shell (liste des paramètres positionnels $1 $2...). Il faut échapper "$" ou changer le caractère séparateur @.