find text but replace a text beside it


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find text but replace a text beside it
# 1  
Old 09-02-2008
find text but replace a text beside it

I have an html file that looks like this (this is just a part of the html file):

<td colspan="3" rowspan="1" style="text-align: center; background-color: rgb(<!-- IDENTIFIER1 -->51, 255, 51);"><small><!-- IDENTIFIER2 -->UP</small></td>

This is to automatically update the status of the environment:
1. Find the IDENTIFIER1.
2. Replace 51, 255, 51 with some number (e.g, 0, 0, 0)
3. Find IDENTIFIER 2.
4. Replace UP or DOWN with a some value (e.g, UP or DOWN as well)

I know i can us a simple find and replace substitution using SED but it will
be a very long line of code and can be mixed up with all the characters on the line so I though of using the above logic but i dont know how to do it. Appreciate your help.
# 2  
Old 09-02-2008
I'm not sure if you are saying you are already using this, and would like to avoid it, but then I don't really see what would be much simpler than this.

Code:
sed -e 's/\(<!-- IDENTIFIER1 -->\)[0-9]*,[0-9]*,[0-9]*/\10,0,0/' \
  -e 's/\(<!-- IDENTIFIER2 -->\)UP/\1DOWN/' old.html >new.html

If the replacement values should not be hardcoded, you need to adjust the quoting; single quotes prevent variable expansion, but you can mix single and double quotes freely to protect the parts which need protection and still get variable interpolation where you want it.
# 3  
Old 09-02-2008
Thanks a lot! That saves time.

That works for the character substitution but didnt work for the number substitutions:
sed -e 's/\(<!-- IDENTIFIER1 -->\)[0-9]*,[0-9]*,[0-9]*/\10,0,0/'
# 4  
Old 09-02-2008
Looks like you need to add spaces after the commas, sorry for missing that.
# 5  
Old 09-02-2008
yep Smilie, the space was missed.. thanks for the help Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to find text and replace next line.?

Have multiple files with the same format and certain text is the same. Have specific text to search for and then need to replace the next line. Can search on the text DEVICE and multiple lines will be found. The line after each DEVICE line has {. Want to replace the line { with {-someadditiontext.... (2 Replies)
Discussion started by: bigdaddywags
2 Replies

2. UNIX for Advanced & Expert Users

Find and replace the line in text file

I have two files a.txt b.txt I want to find a line in a.txt and replace by another line from b.txt a.txt asfsdfsfsfdfsf asfwererfgdgf wrerwetretfdg b.txt werdfgdfgf werergfdgd sfdfgfgfgfgg i want to replace the 1st line of a.txt by 1st line of b.txt i want out put as (5 Replies)
Discussion started by: rammm
5 Replies

3. Shell Programming and Scripting

find from file and replace with specific text

Dear All, I do not have any knowledge of scripting. I want to replace specific lines of a text file with a specific text. Like I have one file which is "original file" and one file "changes file" which has list of lines which I want to replace in original file with a specific string. I want the... (5 Replies)
Discussion started by: libras
5 Replies

4. Shell Programming and Scripting

Find and add/replace text in text files

Hi. I would like to have experts help on below action. I have text files in which page nubmers exists in form like PAGE : 1 PAGE : 2 PAGE : 3 and so on there is other text too. I would like to know is it possible to check the last occurance of Page... (6 Replies)
Discussion started by: lodhi1978
6 Replies

5. Shell Programming and Scripting

find pattern and replace the text before it

i am editing a big log file with the following pattern: Date: xxxx Updated: name Some log file text here Date: eee Updated: ny Some log file text here Basically i want to remove all the text in a line before the "Updated" pattern. I sill want to print the other... (4 Replies)
Discussion started by: balan1983a
4 Replies

6. Shell Programming and Scripting

sed to find replace mutliline text

Hi, My input file form 1 fill 2 fill 3 form 4 fill 5 form 6 fill 7 form 8 Now i need to substiute according to the fill. form followed by single fill need to be replced with category 1 form with above and below fill need to be repalced with category 2 (5 Replies)
Discussion started by: vasanth.vadalur
5 Replies

7. Shell Programming and Scripting

find, copy and replace text in bash or sh

here is my prob .. i have a very large text files and i need to locate specific lines, copy them and then replace a single word in the replaced text example find all lines that contain '/etc', copy the line immediately below (not at the end of the file) and then replace '/etc' with '/root'... (1 Reply)
Discussion started by: jmvbxx
1 Replies

8. UNIX for Dummies Questions & Answers

Find and replace text PLEASE HELP

Dear friends please help, I have a large data file with few hundred lines. A small example is shown below: datafile is a file with few hundred lines with the third column has many different character stings: test 100 abc test 134 bcd test 356 cdf test 831 dfg test 720 fgh I need to... (6 Replies)
Discussion started by: bobo
6 Replies

9. UNIX for Dummies Questions & Answers

Find and replace text

test 100 abc test 134 bcd test 356 cdf test 831 dfg test 720 fgh Please advise how can I replace the abc, bcd....with ABC, BCD.... (1 Reply)
Discussion started by: bobo
1 Replies

10. Shell Programming and Scripting

find and replace text with a variable?

Is there a way that I can make the following work with using variables? perl -pi -e 's#blah#hrm#ig' replacetext but like this var=blah perl -pi -e 's#$var#hrm#ig' replacetext (3 Replies)
Discussion started by: doublejz
3 Replies
Login or Register to Ask a Question