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

Re: Récupérer le résultat d'une commande sed dans une variable ou un fichier : problème...



Bonjour Charles,
Simple et clair.
Merci
cordialement
Rq : parce que TRUC contient des /, j'ai été obligé de prendre | au lieu de / comme séparateur de sed; sinon la commande plante. 

----- Mail original -----
De: "Charles Plessy" <plessy@debian.org>
À: "Liste Debian" <debian-user-french@lists.debian.org>
Envoyé: Vendredi 5 Novembre 2021 01:42:48
Objet: Re: Récupérer le résultat d'une commande sed dans une variable ou un fichier : problème...

Le Fri, Nov 05, 2021 at 12:31:13AM +0100, roger.tarani@free.fr a écrit :
> 
> Comment expliquer que la commande prend un fichier comme argument : 
> sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' monfichier #SUCCES 
> 
> mais refuse de prendre la valeur d'une variable ? 
> sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' "$TRUC" #ECHEC 

Bonjour Roger,

c'est comme ça que sed (et beaucoup d'autres outils) a été conçu: opérer
sur le contenu d'un fichier dont le nom est passé en argument, ou alors
sur un flux passant par l'entrée standard.

   echo 'toto' | sed 's/o/a/g'    # renvoie tata
   echo 'toto' > monfichier
   sed 's/o/a/g' monfichier       # renvoie tata
   TRUC=monfichier
   sed 's/o/a/g' "$TRUC"          # renvoie tata

La variable $TRUC est remplacée par sa valeur avant que sed ne soit
executé.  La commande executée avec monfichier ou $TRUC est donc
exactement la même.

Bonne journée

-- 
Charles Plessy                         Nagahama, Yomitan, Okinawa, Japan
Debian Med packaging team         http://www.debian.org/devel/debian-med
Tooting from work,           https://mastodon.technology/@charles_plessy
Tooting from home,                 https://framapiaf.org/@charles_plessy


Reply to: