Sponsored Content
Top Forums UNIX for Dummies Questions & Answers extract data from html tables Post 302177113 by bakunin on Thursday 20th of March 2008 05:04:41 AM
Old 03-20-2008
Quote:
the only problem with your solution is that most of the <tr> tags are across multiple lines in my html page. ie the tag may be opened on line 7 and then closed on line 20.
Well, i told you that - in absence of any example - i had to make some assumptions. Here is a new version which will work on tags ranging over several lines. It will still not catch the case of several "<tr>...</tr>" pairs on one line, though.

Code:
sed -n '/<tr>/,/<\/tr> {
           s/.*<tr>//
           s/<\/tr>.*//
           p
           }' /path/to/your/file

How this works: the "-n" clause will stop sed from printing every line it has read, so if you delete the script it would print just nothing. This is to (implicitly) throw out all the lines which are NOT in the specified range.

Everything between the curly braces is executed only when inside the range specified on line 1. As you can see the last command inside the curly braces is a "p", which will print everything inside this range. If you delete the two "s/...."-commands it would print something this:

Code:
something....<tr> content of the tr-tag
some more content
even more content</tr> something else....

As you can see the bold parts should be deleted as they are not part of what you want. The two "s/..."-commands (s=substitute) take care of that along with the tags themselves. At last the p(rint)-command outputs the result of all the trimming.

One more word, though: You got a second answer from me because i appreciated that you were doing genuine research on your own. You almost forfeited this answer because of this:

Quote:
[...]withough having to waste time making an example table
You might notice i have "wasted time" not only writing a script but even wasted more time explaining how it works in the hope of not only solving the problem at hand but enhancing your understanding at the same time. On top of that i "wasted some more time" to write a script in my first post which nobody is going to need because it was based on faulty assumptions. Assumptions which might not have been faulty at all would i have been able to work from an example created by "wasting time".

I am even now "wasting some more time" to explain to you why you might sometimes get no answer at all or some answer you can't use. Go figure.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Converting tables of row data into columns of tables

I am trying to transpose tables listed in the format into format. Any help would be greatly appreciated. Input: test_data_1 1 2 90% 4 3 91% 5 4 90% 6 5 90% 9 6 90% test_data_2 3 5 92% 5 4 92% 7 3 93% 9 2 92% 1 1 92% ... Output:... (7 Replies)
Discussion started by: justthisguy
7 Replies

2. 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

3. Shell Programming and Scripting

SED to extract HTML text data, not quite right!

I am attempting to extract weather data from the following website, but for the Victoria area only: Text Forecasts - Environment Canada I use this: sed -n "/Greater Victoria./,/Fraser Valley./p" But that phrasing does not sometimes get it all and think perhaps the website has more... (2 Replies)
Discussion started by: lagagnon
2 Replies

4. AIX

Extract data from DB2 tables and FTP it to outside company's firewall

Please help me in creating the script in AIX. requirement is; The new component's main function is to extract the data from DB2 tables and company's firewall directly. The component function needs to check the timestamp in the DB2 tables ((CREDAT and CRETIM) with the requested timestamp and... (1 Reply)
Discussion started by: priyanka3006
1 Replies

5. Shell Programming and Scripting

extract data with awk from html files

Hello everyone, I'm new to this forum and i am new as a shell scripter. my problem is to have html files in a directory and I would like to extract from these some data that lies between two different lines Here's my situation <td align="default"> oxidizability (mg / l): data_to_extract... (6 Replies)
Discussion started by: sbobotex
6 Replies

6. Shell Programming and Scripting

awk to create two HTML Tables

I am working on awk script to generate an HTML format output. With input file as below I am able to generate a HTML file however I want to saperate spare devices in a different table than rest of the devices and which has only Bunch ID, RAW Size and "Bunch Spare" status columns. INPUT File : ... (2 Replies)
Discussion started by: dynamax
2 Replies

7. Shell Programming and Scripting

extract complex data from html table rows

I have bash, awk, and sed available on my portable device. I need to extract 10 fields from each table row from a web page that looks like this: </tr> <tr> <td>28 Apr</td> <td><a... (6 Replies)
Discussion started by: rickgtx
6 Replies

8. Shell Programming and Scripting

awk -- Extract data from html within multiple tags as reference

Hi, I'm trying to get some data from an html file, but the problem is before it can extract the information I have multiple patterns that need to be passed through. https://www.unix.com/shell-programming-scripting/150711-extract-data-awk-html-files.html Is a similar problem. The only... (5 Replies)
Discussion started by: counfhou
5 Replies

9. Shell Programming and Scripting

Splitting csv into 3 tables in html file

I have the data in csv in 3 tables. how can I output the same into 3 tables in html.also how can I set the width. tried multiple options . attached is the format. #!/bin/ksh awk 'BEGIN{ FS="," print "<HTML><BODY><TABLE border = '1' cellpadding=10 width=100>" print... (7 Replies)
Discussion started by: archana25
7 Replies

10. UNIX for Beginners Questions & Answers

Extract the tables from html

Hi I have a script which extracts the table from HTML and convert it into .csv. But the problem in the script is if we have 2 tables in HTMl . it takes only the first table. Please help me what changes i need to do in the script to make it read the complete HTML page. Script is as below: ... (10 Replies)
Discussion started by: deepti01
10 Replies
ACPIDUMP(1)						      General Commands Manual						       ACPIDUMP(1)

NAME
acpidump - dump a system's ACPI tables to an ASCII file acpixtract - convert ASCII acpidump output to raw binary table turbostat - gather performance statistics SYNOPSIS
acpidump [options] acpixtract [options] [filename] turbostat [options] [command [arg]...] DESCRIPTION
This manual page documents briefly the acpidump , acpixtract and turbostat commands. turbostat reads hardware registers and gather statistics on the processor clock frequency and C-state usage. Works properly on Nehalem and newer processors and on Linux kernel 2.6.30 and later versions. OPTIONS
acpidump options are as follow: -a, --addr 0x1234 look for tables at this phisical address -t, --table DSDT only dump table with DSDT signature -o, --output filename redirect output from stdout to filename -b, --binary dump data in binary form rather than in hex-dump format -l, --lenght 0x456 works only with --addr, dump phisical memory region without trying to understand it's contents -s, --skip 2 skip 2 tables of the given name and output only 3rd one -h, --help outputs an help message OPTIONS
acpixtract options are as follow: -a extract all tables, not just DSDT/SSDT -l list table summaries, do not extract -s<Signature> Extract all tables named <Signature> OPTIONS
turbostat options are as follow: -v makes turbostat more verbose -i <sec> polling interval, default is 5 When given a command turbostat runs it and outputs statistics gathered while the program was running. EXAMPLES
Dump the DSDT table to the file DSDT.aml in binary format (this can be disassembled later with iasl(1)): acpidump -b -t DSDT -o DSDT.aml Show the FACP table: acpidump -t FACP > FACP.dat acpixtract -a FACP.dat iasl -d FACP.dat Dump and extract all ACPI tables: acpidump -o DSDT.dat acpixtract -a Parse APIC tables: acpidump -o DSDT.dat acpixtract -sAPIC DSDT.dat SEE ALSO
iasl(1), AUTHOR
acpidump was written by Alexey Starikovskiy and Len Brown. This manual page was written by Mattia Dongili <malattia@debian.org>, for the Debian project (but may be used by others). October 19, 2005 ACPIDUMP(1)
All times are GMT -4. The time now is 10:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy