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: