Sed variable
Résolu
eric0279
Messages postés
3
Statut
Membre
-
eric0279 Messages postés 3 Statut Membre -
eric0279 Messages postés 3 Statut Membre -
Bonjour,
j'ai une variable: WEB="/var/www"
seulement avec sed, il ne modifie pas le fichier après multiples tentatives, soit une erreur de regex soit aucune erreur mais rien dans le fichier...
Ligne d'origine:
J'ai essayé avec des substitutions :, % mais aucun effet... quel est mon erreur vu que ça ne fonctionne pas ?
edit: ce n'est pas très propre mais pour le moment j'efface la ligne et je l'insère:
Cordialement,
j'ai une variable: WEB="/var/www"
seulement avec sed, il ne modifie pas le fichier après multiples tentatives, soit une erreur de regex soit aucune erreur mais rien dans le fichier...
Ligne d'origine:
sed -i "s/#htmldir[[:blank:]]\/var\/cache\/munin\/www/htmldir \/var\/www\/munin/g;" /etc/munin/munin.conf
J'ai essayé avec des substitutions :, % mais aucun effet... quel est mon erreur vu que ça ne fonctionne pas ?
edit: ce n'est pas très propre mais pour le moment j'efface la ligne et je l'insère:
sed -i '9d' /etc/munin/munin.conf && sed -i "9ihtmldir $WEB\/munin" /etc/munin/munin.conf
Cordialement,
5 réponses
-
Rien pigé!
Que sont sensés faire ta substitution ou ton filtre en général. Explique cela clairement.
-
Je voudrais passer
\/var\/www\/munin/
en variable dans cette ligne:sed -i "s/#htmldir[[:blank:]]\/var\/cache\/munin\/www/htmldir \/var\/www\/munin/g;" /etc/munin/munin.conf
-
Inspire-toi de ceci peut-être:
johand@bata:~/tmp$ cat brol.txt
/plop/var/cache/apt
/plop/var/cache/apt/pkgcache.bin
/plop/var/cache/apt/apt-file
/plop/var/cache/apt/archives
/plop/var/cache/apt/srcpkgcache.bin
johand@bata:~/tmp$ REP='/var/'
johand@bata:~/tmp$ sed -e "s#${REP}#/NOUVEAU/#g" brol.txt
/plop/NOUVEAU/cache/apt
/plop/NOUVEAU/cache/apt/pkgcache.bin
/plop/NOUVEAU/cache/apt/apt-file
/plop/NOUVEAU/cache/apt/archives
/plop/NOUVEAU/cache/apt/srcpkgcache.bin
Notons l'utilisation des guillemets doubles afin de permettre l'évaluation de ${REP} par le shell.
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin) -
Salut,
edit: ce n'est pas très propre mais pour le moment j'efface la ligne et je l'insère:
Alors dans ce cas au lieu de "i" (insertion), utiliser "c" (changement) :sed -i '9d' /etc/munin/munin.conf && sed -i "9ihtmldir $WEB\/munin" /etc/munin/munin.conf
$ cat fich #htmldir /var/cache/munin/www #htmldir /var/cache/munin/www #htmldir /var/cache/munin/www #htmldir /var/cache/munin/www $ var="/var/www/munin/" $ sed "3chtmldir ${var}" fich #htmldir /var/cache/munin/www #htmldir /var/cache/munin/www htmldir /var/www/munin/ #htmldir /var/cache/munin/www -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -