sed substitute situation


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers sed substitute situation
# 15  
Old 06-03-2005
It appears to be the '.' that is giving me problems.

File Contents:
SCCS=33.0

The awk command:
prev=`awk -F"=" '{ print $2 }' $FILE`
returns: 33.0

when I tried to pass this to sed it garbles the command even though I am enclosing in quotes:
sed "s/$prev/$new/g" $FILE

to prove this i did:
prev=33; new=44
sed "s/$prev/$new/g" $FILE
which worked.

So is there a way to get sed to treat the '.' as literal in the variable? The number following the '.' may not always be '0'. Any more thoughts? Thank you very much.
# 16  
Old 06-03-2005
Quote:
Originally Posted by newbreed1
So is there a way to get sed to treat the '.' as literal in the variable? The number following the '.' may not always be '0'. Any more thoughts? Thank you very much.
you have to 'escape' it:
echo 'SCCS=33.4' | sed 's/\./\\\&/g'

On the second thought, why don't you do everything in AWK? You already are using it, so..

Code:
nawk -F= -v mult=10 '{ $2 = sprintf("%.1f", $2 * mult); print }' $FILE

# 17  
Old 06-03-2005
Well, I've tried all day and this is what I finally came up with:

prev=`expr "$(sed -n '/ET_SCCSREL=/p' $FILE)" : '.*\(....\)'`
new=$(echo "scale=1; $prev + 1.0" | bc )
nawk -v prev=$prev -v new=$new '{ gsub(prev,new); print }' $FILE > $FILE2

This seems to work. Thanks for all your help. If you know a different way please feel free to let me know. I know there has to be an easier way.

Thanks.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Substitute a character with sed

hi all, i'd like to modify a file with sed , i want to substuite a char "-" with "/" how can i do this? Thanks for all regards Francesco (16 Replies)
Discussion started by: Francesco_IT
16 Replies

2. Shell Programming and Scripting

[sed]: Substitute a string with a multiline value

Dear all, I try to replace a string of characters in a file (MyFile.txt) by a multiline value of the variable "Myvar": $ cat MyFile.txt DESCRIPTION '@TargetTable SCHEMA' ( @InputFlowDef ); $ The content of Myvar: $ echo "$Myvar" col1 , col2 , col3 $ (4 Replies)
Discussion started by: dae
4 Replies

3. Shell Programming and Scripting

sed substitute command -- need help

I am trying to do what I thought should be a simple substitution, but I can't get it to work. File: Desire output: I thought I'd start with a sed command to remove the part of the header line preceding the string "comp", then go on to remove the suffix of the target string (e.g. ":3-509(-)"),... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

4. Shell Programming and Scripting

using sed or gsub to substitute characters!

Is there a way to substitute the URL-encoding references of ( & and ` ) with their actual appearance? for example.... %26 is & say I want to convert every %26 in my file to &..... awk '{gsub(/%26/,"&");print}' Is there a way to do this? I also want to be able to convert ` too! (3 Replies)
Discussion started by: puttster
3 Replies

5. Shell Programming and Scripting

how to substitute filepaths with sed or awk?

I am having the following problem. I am having a lot of files (test_1_01.hea, test_1_02.hea, etc) with the content: project_directory /net/1/d_1/5/ tmp_directory /net/1/d_1/5/ material_directory /net/1/d_1/5/ And I have to substitute the filepaths with new counted ones where the... (3 Replies)
Discussion started by: ergy1983
3 Replies

6. Shell Programming and Scripting

Sed question to substitute data in \2

Hi All, Here is what I'm trying to do with sed: Input File: somechangeVariable1=Something I would like to change somechangeVariable2=Something else I would like to change ... Output File: somechangeVariable1=Something I would like to different somechangeVariable2=Something else I would... (6 Replies)
Discussion started by: Peace_Dude1
6 Replies

7. UNIX for Dummies Questions & Answers

Using sed to substitute between quotes.

I'm using sed to perform a simply search and replace. The typical data is: <fig><image href="Graphics/BAV.gif" align="left" placement="break" I need to replace the value in the first set of quotes, keeping the remainder of the line the same. Thus: <fig><image href="NEW_VALUE" align="left"... (3 Replies)
Discussion started by: Steve_altius
3 Replies

8. Shell Programming and Scripting

Using sed to substitute first occurrence

I am trying to get rid of some ending tags but I run into some problems. Ex. How are you?</EndTag><Begin>It is fine.</Begin><New> Just about I am trying to get rid of the ending tags, starts with </ and ending with >. (which is </EndTag> and </Begin>) I tried the following sed... (2 Replies)
Discussion started by: quixoticking11
2 Replies

9. Shell Programming and Scripting

Using SED to substitute between two patterns.

Hi All, I'm currently using SED to make various changes to some .xml files I'm working on, but I'm stuck on this particular problem. I want to remove '<placeholder>element-name</placeholder>' from the following: <heading>Element <placeholder>element-name</placeholder> not... (2 Replies)
Discussion started by: Steve_altius
2 Replies

10. Shell Programming and Scripting

sed situation

Hi, I'm looking for someone who can think in sed. Basically, I need the trailing characters on every line in a file to be deleted. These characters are all in capitals, and always follow a number, but they often vary in number For instance, on the line: 2006_10_9_p20_TALK I'd want to... (4 Replies)
Discussion started by: Laurel Maury
4 Replies
Login or Register to Ask a Question