Le Fri, Nov 05, 2021 at 12:31:13AM +0100, [email protected] 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

