How to remove html tag which has multiple lines in SHELL?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to remove html tag which has multiple lines in SHELL?
# 1  
Old 11-30-2015
How to remove html tag which has multiple lines in SHELL?

I want to clean a html file.

I try to remove the script part in the html and remove the rest of tags and empty lines.

The code I try to use is the following:
Code:
sed '/<script/,/<\/script>/d' webpage.html | sed -e 's/<[^>]*>//g' | sed '/^\s*$/d' > output.txt

However, in this method, I can not handle the case which a tag with multiple lines of properties, like:
Code:
<body class="three-col logged-out Streams" 
data-fouc-class-names="swift-loading"
 dir="ltr">

Are there any other methods to deal with this kind of case in SHELL?

Last edited by vbe; 11-30-2015 at 12:33 PM.. Reason: code tags... not icode
# 2  
Old 11-30-2015
To edit HTML files there's better tools than sed out there. However, for a sed solution, this might point you in the right direction:
Code:
sed '/<script/,/<\/script>/d; s/<[^>]*>//g; /</{:L;N;/>/!bL;d}; /^\s*$/d' file

# 3  
Old 11-30-2015
Quote:
Originally Posted by RudiC
To edit HTML files there's better tools than sed out there. However, for a sed solution, this might point you in the right direction:
Code:
sed '/<script/,/<\/script>/d; s/<[^>]*>//g; /</{:L;N;/>/!bL;d}; /^\s*$/d' file

Could you please explain what is the third part doing? Thanks.
And it seems that it do not work well in my machine.
# 4  
Old 11-30-2015
This /</{:L;N;/>/!bL;d}; is a loop, entered when a < is encountered, appending next lines until an > is read, then deleting the pattern space. It is far from bullet proof, not accounting for e.g. nested tags, but should give you an idea on how you could proceed.

If you want further help you need to be way more specific (details, samples, error msgs, ...).
# 5  
Old 11-30-2015
Quote:
Originally Posted by RudiC
This /</{:L;N;/>/!bL;d}; is a loop, entered when a < is encountered, appending next lines until an > is read, then deleting the pattern space. It is far from bullet proof, not accounting for e.g. nested tags, but should give you an idea on how you could proceed.

If you want further help you need to be way more specific (details, samples, error msgs, ...).
The error is that
bL: Event not found.
# 6  
Old 11-30-2015
Check the quoting ('...') of the sed script.
# 7  
Old 11-30-2015
Quote:
Originally Posted by RudiC
Check the quoting ('...') of the sed script.
It's still the same error. I use tcsh. Is there anything wrong with this?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Multiline html tag parse shell script

Hello, I want to parse the contents of a multiline html tag ex: <html> <body> <p>some other text</p> <div> <p class="margin-bottom-0"> text1 <br> text2 <br> <br> text3 </p> </div> </body> (15 Replies)
Discussion started by: SorcRR
15 Replies

2. Shell Programming and Scripting

Creating multiple xml tag lines in a file

Hi All, Can someone tell me how can we create same xml tag lines based on the number of lines present in other file and replace the Name variable vaule present in other file. basically I have this xml line <typ:RequestKey NameType="RIC" Name="A1" Service="DDA"/> and say I... (4 Replies)
Discussion started by: Optimus81
4 Replies

3. Shell Programming and Scripting

Search for a html tag and print the entire tag

I want to print from <fruits> to </fruits> tag which have <fruit> as mango. Also i want both <fruits> and </fruits> in output. Please help eg. <fruits> <fruit id="111">mango<fruit> . another 20 lines . </fruits> (3 Replies)
Discussion started by: Ashik409
3 Replies

4. Shell Programming and Scripting

How can I remove some xml tag lines using shell script?

Hi All, My name is Prathyu and I am working as a ETL develper. I have one requirement to create a XML file based on the provided XSD file. As per the Datastage standards Key(repeatable) field does not contain any Null values so I am inserting some dummy tag line to that XML file. ... (14 Replies)
Discussion started by: Prathyu
14 Replies

5. Shell Programming and Scripting

How to remove string inside html tag <a>

Does anybody know how i can remove string from <a> tag? There are several hundred posts in a few forums that need to be cleaned up. The precise situation is ---------- <a href="http://mydomain.com/cgi-bin/anyboard.cgi?fvp=/family/sexuality_and_spirituality/&cmd=rA&cG=43"> ------------- my... (6 Replies)
Discussion started by: georgi58
6 Replies

6. Shell Programming and Scripting

shell command to remove some XML tag is needed

Hi all, I have a file which i have to remove some line from it, the lines that i have to remove from my file is as below: </new_name></w"s" langue="Fr-fr" version="1.0" encoding="UTF-8" ?> <New_name> and it is finding at the middle of my file, is there any command line in linux to do it or do... (10 Replies)
Discussion started by: id_2pc
10 Replies

7. Shell Programming and Scripting

How to remove some xml tag lines using shell script

I have existing XML file as below, now based on input string in shell script on workordercode i need to create a seprate xml file for e.g if we pass the input string as 184851 then it find the tag data from <workOrder>..</workOrder> and write to a new file and similarly next time if i pass the... (3 Replies)
Discussion started by: balrajg
3 Replies

8. Shell Programming and Scripting

command to remove attribute of an html tag

Is there any shell command to clean an html tag of its attributes. For ex <p align ="center"> with <p>. Thanks for your help!! (2 Replies)
Discussion started by: parshant_bvcoe
2 Replies

9. Shell Programming and Scripting

how to use html tag in shell scripting

Hai friends I have a small doubt.. how can we use html tag in shell scripting code : echo "<html>" echo "<body>" echo " welcome to peace world " echo "</body>" echo "</html>" output displayed like this: <html> <body> welcome to peace world </body> </html> (5 Replies)
Discussion started by: jrex1983
5 Replies

10. UNIX for Dummies Questions & Answers

How do I extract text only from html file without HTML tag

I have a html file called myfile. If I simply put "cat myfile.html" in UNIX, it shows all the html tags like <a href=r/26><img src="http://www>. But I want to extract only text part. Same problem happens in "type" command in MS-DOS. I know you can do it by opening it in Internet Explorer,... (4 Replies)
Discussion started by: los111
4 Replies
Login or Register to Ask a Question