Solved

using sed and variables in bash

Posted on 2013-06-07
3
467 Views
Last Modified: 2013-06-08
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
Comment
Question by:Evan Cutler
3 Comments
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 500 total points
ID: 39230683
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
 
LVL 12

Expert Comment

by:tel2
ID: 39231056
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
 
LVL 9

Author Closing Comment

by:Evan Cutler
ID: 39231582
Thanks boss.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now