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

Re: sed : à l'aide



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 @.