Hi
I'm trying to change a part of a line with sed. Usually I will run
sed 's/mytext/mynewtext/'
Now I have a variable: var=mynewtext
sed 's/mytext/$var/' does not work. I have also tried to protect the $ with different characters but it still does'nt work.
I will be very happy if someone has a solution to this.
For starters, you can switch to double quotes:
sed "s/mytext/$var/"
Sometimes that does not work. It would depend on the exact value of mytext. So another solution is to turn the single quoted string into two single quoted strings:
sed 's/mytext/'$var'/'
In this case, the 2nd single quoted string is '/'. Just using a backslash would work to that and it saves a character:
sed 's/mytext/'$var\/
There is actually no reason to quote a slash so this should also work with most shells:
sed 's/mytext/'$var/
And there may be no reason to quote anything at all, but again, the actual vakue of mytext determines this. So this may work:
sed s/mytext/$var/
Opps...you only wanted a solution, so I'll quit now....
Thanks for excelent answers !! It works....