doing a sed on certain variables


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers doing a sed on certain variables
# 1  
Old 05-19-2005
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 replace that.
I tought of doing grep -w ID-INTERNAL but that still returns both any ideas ?
# 2  
Old 05-19-2005
You can use sed itself.

Try this out

Code:
sed -e 's/ID-INTERNAL /1 /g'

Please note the extra white-space after ID-INTERNAL and 1. This assumes you have ID-INTERNAL as a standalone word.

Vino
# 3  
Old 05-19-2005
no didnt work,

because I might have an instance of ID-INTERNAL,
# 4  
Old 05-19-2005
MySQL

Try this...

sed -e 's/ID-INTERNAL /1 /g' -e 's/ID-INTERNAL[^-]/1/g' -e 's/ID-INTERNAL$/1/g' $filename

Last edited by RishiPahuja; 05-19-2005 at 09:02 AM..
# 5  
Old 05-19-2005
Thanks for that it works now, any chance you could explain what you exactly did please ?
# 6  
Old 05-20-2005
MySQL

Here goes the explaination...

sed -e 's/ID-INTERNAL /1 /g' -e 's/ID-INTERNAL[^-]/1/g' -e 's/ID-INTERNAL$/1/g' $filename


the first replace will make replace only those where space is the next character then we replace all other then '-' characters then comes provision for if the next character being newline assuming your variable ends the line it is in.

hope its clear, if not pls lemme know.

This was required to do so..as we need to prioritze and replace, there could be a better way to achieve this say with only one expression..but this is what i could come up at first instance and posted...

if any better suggestions with anyone...do share...

Thanks
# 7  
Old 05-20-2005
Thanks RishiPahuja,

That make things clear. You might have noticed a new topic I have posted which describes a different solution to this problem.

The reason why is that ID-INTERNAL, will be replaced with 1 but also the comma will be removed and that is wrong. It doesn' necessarily have to be a comma it can be a brackes or plus sign,...


examples:
ID-INTERNAL,
ID-INTERNAL)
ID-INTERNAL+

Any ideas ?
 
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. UNIX for Dummies Questions & Answers

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'... (5 Replies)
Discussion started by: new_learner
5 Replies

5. 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

6. 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

7. 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

8. 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

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