Replacing $ in variable


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Replacing $ in variable
# 1  
Old 02-29-2008
Replacing $ in variable

hi
I have a variable like

k=$DESTDIR/$PKG/$VERSION

I want to replace each $ in string k with say "XXX".
so that k becomes like this "XXXDESTDIR/XXXPKG/XXXVERSION"

when I use echo $k | sed -e "s/\$/XXX" it actually passes expanded of variables $DESTDIR, $PKG and $VERSION to sed.

Please help.

Ashish
# 2  
Old 02-29-2008
Replacing "$" in variable

hi
I have a variable like

k=$DESTDIR/$PKG/$VERSION

I want to replace each $ in string k with say "XXX".
so that k becomes like this "XXXDESTDIR/XXXPKG/XXXVERSION"

when I use echo $k | sed -e "s/\$/XXX" it actually passes expanded of variables $DESTDIR, $PKG and $VERSION to sed.


Please help.
# 3  
Old 02-29-2008
probably the variable k is not formed correctly. Can you try echo $k and see if you get $DESTDIR/$PKG/$VERSION ? Are you forming the variable k like this : k="\$DESTDIR/\$PKG/\$VERSION" ? if so, the sed command works as expected.
# 4  
Old 02-29-2008
Quote:
Originally Posted by sank
probably the variable k is not formed correctly. Can you try echo $k and see if you get $DESTDIR/$PKG/$VERSION ? Are you forming the variable k like this : k="\$DESTDIR/\$PKG/\$VERSION" ? if so, the sed command works as expected.
$DESTDIR/$PKG/$VERSION is coming from a read only file to k while reading.
# 5  
Old 02-29-2008
then, you need to see how to read it into k by escaping the $. can you tell us how you are reading it from the file and assigning to k ?
# 6  
Old 02-29-2008
I am using while loop like

while read k

.....// if $DESTDIR is present in k then go to next line in file
because DESTDIR is not defined .
else
use value of k as it is it may be $PKG/$VERSION
as these variable are defined.

.....
done < $file
# 7  
Old 02-29-2008
Quote:
Originally Posted by ashish_uiit
I am using while loop like

while read k

.....// if $DESTDIR is present in k then go to next line in file
because DESTDIR is not defined .
else
use value of k as it is it may be $PKG/$VERSION
as these variable are defined.

.....
done < $file
when you do 'echo $k', do you see the shell variables expanded ?
I feel that you need to escape $ by adding '\' everytime you append it to k.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing a variable in a loop

input.txt I want to make 3 seprate ouputs such that toast1.txt ICH.txt ICH_SV.txt I have tried "echo" and "sed 's/k/toast1/g' to replace k, but its not quite working. Please help me out :) Thanks! (4 Replies)
Discussion started by: johnkim0806
4 Replies

2. Shell Programming and Scripting

passing variable to another file and replacing

Hi all, I have a script in file1 which gets input from the user say variable "TYPE". This variable is present in the other file2. I want to replace the variable in the file2 with the value given by the user and print the file. How can I achieve this task? file1 code echo "Give... (3 Replies)
Discussion started by: Ananthdoss
3 Replies

3. Shell Programming and Scripting

replacing date with a variable in a file

Hi, I've a variable for example.. ACTIVATION_DATE=2010-11-11 (the date above is a result of a sql query and not hardcoded) now there is another file (test_2.parm) where there are many variables predefined.. REG_CODE=111 ACT_DATE=2010-10-10 CAN_DATE=8888-31-12 Now I want to search for... (1 Reply)
Discussion started by: RRVARMA
1 Replies

4. Shell Programming and Scripting

replacing ' ' and :'s with _'s in a variable

Hi guys In my shell script I have a variable that contains a string that contains the current time. I want to replace the spaces and colons in the value with underscores. TIME=`date` echo $TIME gives me: Thu Sep 24 16:40:53 BST 2009 I want it to show:... (4 Replies)
Discussion started by: alinaqvi90
4 Replies

5. Shell Programming and Scripting

replacing line with variable

All I want to do is replace the 2nd line in a file with a variable, eg, var=xxx the file 'test' containing: aaa bbb ccc replace bbb with xxx aaa xxx ccc I had it working with sed on a redhat machine, but it doesn't work on a mac machine. (4 Replies)
Discussion started by: sideways
4 Replies

6. UNIX for Dummies Questions & Answers

Replacing in a variable

Hi, If I have a variable var1 ='TH 12/1234' How can I set this too in a script var1 ='TH 12~1234' Bearing in mind "/" might be in a difference place each time and that the "/" might not even exist each time the variable is set. Thanks (3 Replies)
Discussion started by: belfastbelle
3 Replies

7. Shell Programming and Scripting

Replacing a pattern using variable?

ip1="xxx" ip2="bbb" sed 's/$ip1/$ip2/g' (3 Replies)
Discussion started by: shivarajM
3 Replies

8. Shell Programming and Scripting

Help in replacing text with the value of a variable

Input file - tmp <begin> ./00003/ ./00004/ <end> I would like to replace "." with the value of pwd so that the output will look like /dev/project/00003/ t=`pwd` sed -e "s/\./$t/g" tmp > tmp1; The above piece of code is not working. Appreciate your help. (4 Replies)
Discussion started by: lotto_123
4 Replies

9. Shell Programming and Scripting

Replacing set of characters with a value of a variable

I need to replace anything immediately after the pattern "standard01/" in a file with the value of a variable I don't know the length of the characters stored in that variable. - that might vary. I know there is some string after the pattern "standard01/", i don't know the what the string is or... (1 Reply)
Discussion started by: prekida
1 Replies

10. Shell Programming and Scripting

Replacing pattern in variable

My String variable is holding value as - abc"def I want to replce " with \" I tried with awk : echo $var | awk '{gsub(/"/,"\"");print}' and I am getting an error, `)' is not expected. (1 Reply)
Discussion started by: videsh77
1 Replies
Login or Register to Ask a Question