• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 484
  • Last Modified:

using sed and variables in bash

greetings, I have these commands:

base=/u01/Integrity/PMDR/OGL

sed -e '/<ManufacturedProduct>/r /u01/Integrity/PMDR/OGL/Stage/images.xml' ${base}/Stage/SPL.xml > ${base}/Stage/SPLout.xml

where it says: /u01/Integrity/PMDR/OGL/Stage/images.xml
but I want it parameterized like this: ${base}/Stage/images.xml

right now this does not work:
sed -e '/<ManufacturedProduct>/r ${base}/Stage/images.xml' ${base}/Stage/SPL.xml > ${base}/Stage/SPLout.xml

what can I do to get ${base} to be recognized?
thanks.
0
Evan Cutler
Asked:
Evan Cutler
1 Solution
 
woolmilkporcCommented:
Use double quotes " instead of the single quotes '

sed -e "/<ManufacturedProduct>/r ${base}/Stage/images.xml" ${base}/Stage/SPL.xml > ${base}/Stage/SPLout.xml
0
 
tel2Commented:
Hi arcee123,

I agree with wmp's comment about quotes.  Double quotes allow for interpolation, which is what you need here.

The '-e' switch is not required here.  Retaining it won't cause a problem, though.
0
 
Evan CutlerVolunteer Chief Information OfficerAuthor Commented:
Thanks boss.
0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now