I am trying to write a sed command to replace tokens in a file with values from environment variables like so:
export my_var=foo
echo 'something {{my_var}} bar' | sed -r "s/\{\{(.*?)\}\}/$\1/g"
I want to grab the name of the token (my_var in this case) and then substitute in the value of the environment variable with the same name.
Is this possible? Current the above prints something $my_var bar
rather than something foo bar
which is what I want.
I'm open to using another tool such awk instead if it's not possible with sed.