Accéder au contenu.
Menu Sympa

linux-31 - Re: sed : à l'aide

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: sed : à l'aide


Chronologique Discussions  
  • From: Pascal Hambourg <pascal AT plouf.fr.eu.org>
  • To: linux-31 AT culte.org
  • Subject: Re: sed : à l'aide
  • Date: Fri, 8 Sep 2023 19:48:31 +0200
  • Organization: Plouf !

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



Archives gérées par MHonArc 2.6.19+.

Haut de le page