sed and regular expressions problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed and regular expressions problem
# 1  
Old 02-07-2009
sed and regular expressions problem

Hi

Im trying to use sed to change some files which I'll describe here:

I want to use a regular expression to grab the <body> tag from a document. However, the <body> tag can look different so the regular expression used will take care of that and "include" all types of bodies, in example: <body background="green" > will also be replaced. However, that text that goes directly after body, in this case ' background="green" ' needs to be included in the output.

"s/<body[^>]*>/<body(I want the trimmed content here)>CONTENT/g"


So basically the question is how (and if its possible) to add that content to the output line?
<body background="green" > should become <body background="green" >CONTENT
and
<body> should become <body>CONTENT

If you don't understand what I mean, just ask me and I'll try to describe it in another waySmilie

Thank you!
# 2  
Old 02-07-2009
This should work
Code:
sed -e 's/\(<body.*>\)/\1CONTENT/'

# 3  
Old 02-11-2009
Thanks and it worked as I wanted it to work, however I found a new question after some time..
What if I want the replacement part of 's/regexp/replacement/' to be a file with multiple lines?
s/regexp/`cat filename`/ don't work as it complains about some characters, which I guess depends on the linebreaks.

Thank you!
# 4  
Old 02-18-2009
I would love if someone could help me with this one, if you have any cluesSmilie
# 5  
Old 02-18-2009
did u try "s/regexp/replacement/g" ?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expressions

I need to pick a part of string lets stay started with specific character and end with specific character to replace using sed command the line is like this:my audio book 71-skhdfon1dufgjhgf8.wav' I want to move the characters beginning with - end before. I have different files with random... (2 Replies)
Discussion started by: XP_2600
2 Replies

2. Shell Programming and Scripting

awk or sed or python for regular expressions ?

Linux 6.X environments (RHEL, Oracle Linux ) I could write basic shell scripts in bash. In my spare time, I was planning to learn awk or sed to deal with regular expression tasks I have to deal with. But, I gather that python is gaining popularity these days and I came to know that python has a... (5 Replies)
Discussion started by: John K
5 Replies

3. Shell Programming and Scripting

Issue with sed and regular expressions

I have a file, each line has the date and time twice, once at the start of the line, and again half way along. to neaten things up, and to make it easier to read i'm removing one set. Wasn't as easy as identify the text and remove, as it'd remove both. So i added some text at the beginning of... (4 Replies)
Discussion started by: chr15b
4 Replies

4. Shell Programming and Scripting

sed and regular expressions

Hi, There's a bug using JavaDoc that generates an error if a tag <a...> is found in a javadoc comment, which is not a HTML reference. For example this error is produced with generics. I want to insert an space between "<" and "a". Expression is able to find where this happens using find and grep: ... (6 Replies)
Discussion started by: AlbertGM
6 Replies

5. Shell Programming and Scripting

SED regular expressions

Hi, I need to replace <field name="ID">1</field> with <field name="STATION_ID">01</field> how can i do it? (3 Replies)
Discussion started by: noppeli
3 Replies

6. UNIX for Advanced & Expert Users

regular expressions

I have a flat file with the following drug names Nutropin AQ 20mg PEN Cart 2ml Norditropin Cart 15mg/1.5ml I have to extract digits that are before mg i.e 20 and 15 ; how to do this using regular expressions Thanks ram (1 Reply)
Discussion started by: ramky79
1 Replies

7. Shell Programming and Scripting

SED: Print range, exclude regular expressions.

Ok, so I get that: sed -n '/START/,/END/p' file ...will print every line from START to END inclusive, but I don't want to see START or END. Apart from the obious: sed -n '/START/,/END/p' file | grep -v "START" | grep -v "END" ...is there a simpler way of doing this? Thanks as always! (2 Replies)
Discussion started by: cs03dmj
2 Replies

8. UNIX for Dummies Questions & Answers

regular expressions variables in sed

I am trying to pass a regular expression variable from a simple script to sed to remove entries from a text file e.g. a='aaaa bbbb cccc ...|...:' then executing sed from the script sed s'/"'$a"'//g <$FILE > $FILE"_"1 my output file is always the same as the input file !! any... (1 Reply)
Discussion started by: Daniel234
1 Replies

9. Shell Programming and Scripting

Regular expressions in sed

I'm using sed to alter a parameter file used in another process. Basically, the file is a template containing a few variables which need to be replaced at runtime. The problem is that using sed with filenames that contain the / character causes matches to fail. I've tried doing an escaped... (2 Replies)
Discussion started by: mfreemantle
2 Replies

10. UNIX for Dummies Questions & Answers

Regular expressions in sed

I'm using sed to alter a parameter file used in another process. Basically, the file is a template containing a few variables which need to be replaced at runtime. The problem is that using sed with filenames that contain the / character causes matches to fail. eg:... (3 Replies)
Discussion started by: mfreemantle
3 Replies
Login or Register to Ask a Question