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 way
Thank you!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
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
2. Shell Programming and Scripting
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
3. UNIX for Dummies Questions & Answers
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
4. Shell Programming and Scripting
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
5. UNIX for Advanced & Expert Users
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
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
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
9. Shell Programming and Scripting
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
10. Shell Programming and Scripting
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
REGEXP(6) Games Manual REGEXP(6)
NAME
regexp - regular expression notation
DESCRIPTION
A regular expression specifies a set of strings of characters. A member of this set of strings is said to be matched by the regular
expression. In many applications a delimiter character, commonly bounds a regular expression. In the following specification for regular
expressions the word `character' means any character (rune) but newline.
The syntax for a regular expression e0 is
e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')'
e2: e3
| e2 REP
REP: '*' | '+' | '?'
e1: e2
| e1 e2
e0: e1
| e0 '|' e1
A literal is any non-metacharacter, or a metacharacter (one of .*+?[]()|^$), or the delimiter preceded by
A charclass is a nonempty string s bracketed [s] (or [^s]); it matches any character in (or not in) s. A negated character class never
matches newline. A substring a-b, with a and b in ascending order, stands for the inclusive range of characters between a and b. In s,
the metacharacters an initial and the regular expression delimiter must be preceded by a other metacharacters have no special meaning and
may appear unescaped.
A matches any character.
A matches the beginning of a line; matches the end of the line.
The REP operators match zero or more (*), one or more (+), zero or one (?), instances respectively of the preceding regular expression e2.
A concatenated regular expression, e1e2, matches a match to e1 followed by a match to e2.
An alternative regular expression, e0|e1, matches either a match to e0 or a match to e1.
A match to any part of a regular expression extends as far as possible without preventing a match to the remainder of the regular expres-
sion.
SEE ALSO
awk(1), ed(1), sam(1), sed(1), regexp(2)
REGEXP(6)