sed using variables


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers sed using variables
# 1  
Old 11-09-2008
Question sed using variables

Hi,

I am able to use sed if I hardcode the find and replace values in a shell script.

This works:
sed -e 's/123v/4567/g' /path/aaa.txt
> /path/aaa.txt.tmp

If I use a variable, I am not able to use sed command. why?

This doesnot work:
i=abc
j=bk${i}

sed -e 's/${i}/${j}/g' /path/aaa.txt
> /path/aaa.txt.tmp

Am I doing any mistake?

Thanks and Regards,
# 2  
Old 11-09-2008
sed with double quotes

- if you replace the single quotes (´) in your sample by double quotes (") ,
then the shell will be able to substitute your variables.

- good luck, and success !
# 3  
Old 11-09-2008
Hi Batao,

Thank you very much. Though I searched the site for previous postings with similar question, my attention never went to double quotes. You mentioned exactly where the problem is, and it got solved.

Thank you very much.

With Regards,
# 4  
Old 11-10-2008
Is there any differences between ' single quote and " double quotes....can u explain it in detail........
# 5  
Old 11-10-2008
Yes there is a difference and this thread precisely exhibits it.

Variables are expanded between double quotes but aren't between single ones.
# 6  
Old 11-10-2008
Quote:
Originally Posted by sivakumar.rj
Is there any differences between ' single quote and " double quotes....can u explain it in detail........
See man bash under the section Quoting
Code:
       Enclosing characters in single quotes preserves the literal value of each character within
       the quotes.  A single quote may not occur between single quotes, even when preceded  by  a
       backslash.

       Enclosing characters in double quotes preserves the literal value of all characters within
       the quotes, with the exception of $, ?, and \.  The characters $ and ? retain  their  spe-
       cial  meaning  within  double quotes.  The backslash retains its special meaning only when
       followed by one of the following characters: $, ?, ", \, or <newline>.  A double quote may
       be  quoted within double quotes by preceding it with a backslash.  When command history is
       being used, the double quote may not be used to quote the history expansion character.

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed with variables

Im trying to use sed to print value that matches the value in variable and all lines after that. grep "Something" test.txt | sed -e '/{$variable}/,$b' -e 'd' I cant get it work, if I replace the $variable with the value it contains, it works fine... (10 Replies)
Discussion started by: olkkis
10 Replies

2. Shell Programming and Scripting

Using Variables with SED

All I am trying to produce the following in /etc/ssh/sshd_config, # IPv4 only #ListenAddress 0.0.0.0 # IPv4 & IPv6 ListenAddress :: to # IPv4 only ListenAddress <user-entry> ListenAddress <user-entry> # IPv4 & IPv6 #ListenAddress :: The number of user entries can vary. ... (1 Reply)
Discussion started by: miyoung999
1 Replies

3. Shell Programming and Scripting

variables and sed

Is it possible to place a variable in a sed command as such? sed 's/ret_Priv()/$var/' <filename> I am doing this under Bourne. (5 Replies)
Discussion started by: plslakewood
5 Replies

4. Shell Programming and Scripting

using variables with sed

I'm trying to get sed to cut and replace using variables, but it doesnt seem to work, when I run this the mod time of the file does get updated. Is my syntax incorrect in the sed command? Thanks #!/usr/bin/ksh #Modify header set -x HEAD=$(cat PBN2CPR1.TXT | awk 'BEGIN { FS = ","... (1 Reply)
Discussion started by: ddurden7
1 Replies

5. Shell Programming and Scripting

Sed variables

HELP!!! I'm keep getting "sed: Function s/PETS/dog cannot be parsed." I have 2 files that list... # cat FILE1.txt dog cat mouse # cat FILE2.txt my pets are PETS I put this into a variable... # A=`cat FILE1.txt` # sed "s/PETS/$A" FILE2.txt > FILE3.txt (5 Replies)
Discussion started by: Zenwork
5 Replies

6. Shell Programming and Scripting

Using sed with variables (again!)

Hi, I'm trying to use sed to delete the last three lines of a file. I currently have: # get the amount of lines in the file foldernum=`wc -l File_In.txt | cut -c1-8` # remove the lines in the file sed "${foldernum}-3,${foldernum}d" File_In.txt > File_Out.txt I get the error - sed:... (5 Replies)
Discussion started by: Mr_Plow
5 Replies

7. Shell Programming and Scripting

variables in sed

when i do something like substituting a particular thing with a system variable, i am unable to do that expect the varible name getting into that. for ex.. i tried, sed -e 's/date/`date`/g' <if >of but i got date replaced with "`date`" and not with the actual date .. same case happened... (5 Replies)
Discussion started by: sskb
5 Replies

8. UNIX for Dummies Questions & Answers

doing a sed on certain variables

Hi guys, I want to replace certain values with the number 1. But it is also replacing other values which contain the value I want to replace. e.g.: I want to replace ID-INTERNAL with 1, that's no problem but it will also replace ID-INTERNAL-NON-REM with 1-NON-REM I don't want to... (10 Replies)
Discussion started by: seaten
10 Replies

9. Shell Programming and Scripting

doing a sed with variables

Hi, I'm trying to do the following , I have certain variables in a file and then I want to check for these variables in a certain cobol file to see if they contain a certain package if so replace them with value 1 but but that last line is giving problems: # for each variable in SQL file ... (1 Reply)
Discussion started by: seaten
1 Replies

10. UNIX for Dummies Questions & Answers

doing a sed with variables

Hi, I'm trying to do the following , I have certain variables in a file and then I want to check for these variables in a certain cobol file to see if they contain a certain package if so replace them with value 1 but but that last line is giving problems: # for each variable in SQL file ... (1 Reply)
Discussion started by: seaten
1 Replies
Login or Register to Ask a Question