The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
To Break gegevens van HTML phip Programmeren en Shell Scripting 1 05-20-2008 04:23
Het omzetten van HTML-gegevens in een spreadsheet garric Programmeren en Shell Scripting 4 04-22-2008 11:00
Hoe kan ik het uittreksel alleen tekst uit html bestand zonder HTML-tag los111 UNIX voor Dummies Questions & Answers 4 11-28-2007 04:40
coverting html gegevens tekst in "c" phani_sree Hoog Niveau Programmering 3 10-18-2007 11:06
Het omzetten van tabellen van rij gegevens in kolommen van de tabellen justthisguy Programmeren en Shell Scripting 7 07-16-2007 05:42 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-19-2008
Streetrcr Streetrcr is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posts: 10
extraheren van gegevens uit html tabellen

hoi

Ik moet voor het gebruik van Unix te extraheren van gegevens uit verschillende rijen van een tabel gecodeerd in html. Ik weet dat de rijen in een tabel zijn de tags <tr> </ tr> en dus ik dacht dat mijn eerste stap moet zijn om alle van de andere html-code die niet binnen deze tags. Ik kan vervolgens gebruik maken van deze methode toe, maar verwijder alles wat niet in <td> </ td> tags. maar de grote vraag is hoe kan ik dit doen? Ik denk dat ik moet sed maar op dit moment is het alleen maar verwarrend me te veel any help?
  #2 (permalink)  
Old 03-19-2008
bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: May 2005
Ligging: In het linkse byte van / dev / kmem
Berichten: 1.641
In principe heb je gelijk. Het volgende script zal uitpakken alles tussen een "<tr>" en "</ tr>" tag. Het zal ervan uitgaan dat er geen meerdere "<tr> - </ tr>"-paren op een enkele lijn en de codes zelf zijn allemaal kleine letters (geen "<TR>").

Het resultaat is misschien niet wat u nodig heeft, maar, dus je zou kunnen overwegen om ons een voorbeeld van wat je hebt en wat je nodig hebt om van het. Dit zou ons helpen om u te helpen beter.


Code:
sed 's/.*<tr>//;s/<\/tr>.*//' /path/to/your/file

Ik hoop dat dit helpt.

bakunin
  #3 (permalink)  
Old 03-19-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Plaats: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 717
Hoi.

Zien HTML-tabel naar CSV voor een andere aanpak met behulp van lynx-dump.

In het algemeen, links naar threads vergelijkbaar met de jouwe zijn geplaatst op de bodem van de draad ... cheers, DRL
  #4 (permalink)  
Old 03-19-2008
Streetrcr Streetrcr is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posts: 10
dankzij bakunin dat is echt nuttig. i cant post een steekproef van de html-pagina voor verschillende redenen. het enige probleem met uw oplossing is dat de meeste van de <tr> tags worden op meerdere lijnen in mijn html-pagina. dwz de tag kan worden geopend op lijn 7 en vervolgens gesloten op lijn 20. dus is het mogelijk met sed het verwijderen van alles op een lijn (met inbegrip van de lijn), MAAR stoppen wanneer het wordt op een tag <tr> en opnieuw te beginnen wanneer het gaat om een </ tr>? Als alternatief is er een manier om sed geloven dat de hele html-pagina wordt op een lijn?

zoals ik ben niet bekend met de mogelijkheden van sedHet maakt het moeilijk voor mij om te weten wat de beste manier voor de voltooiing van deze taak is.
  #5 (permalink)  
Old 03-19-2008
ShawnMilo ShawnMilo is offline
Geregistreerde gebruiker
  
 

Join Date: Jun 2006
Posts: 252
Citaat:
Oorspronkelijk geplaatst door Streetrcr View Post
dankzij bakunin dat is echt nuttig. i cant post een steekproef van de html-pagina voor verschillende redenen. het enige probleem met uw oplossing is dat de meeste van de <tr> tags worden op meerdere lijnen in mijn html-pagina. dwz de tag kan worden geopend op lijn 7 en vervolgens gesloten op lijn 20. dus is het mogelijk met sed het verwijderen van alles op een lijn (met inbegrip van de lijn), MAAR stoppen wanneer het wordt op een tag <tr> en opnieuw te beginnen wanneer het gaat om een </ tr>? Als alternatief is er een manier om sed geloven dat de hele html-pagina wordt op een lijn?

zoals ik ben niet bekend met de mogelijkheden van sedHet maakt het moeilijk voor mij om te weten wat de beste manier voor de voltooiing van deze taak is.
Er is geen reden waarom je niet kan spotten van een HTML-pagina die lijkt op de een u werkt met maar die bevat niet alle gevoelige informatie. Niemand is geïnteresseerd in throwing darts in een donkere kamer.

Als je iets post, iemand zal postcode. Anders, you're going to have to do it jezelf. Probeer iets als vervanging van alle nieuwe regels in het bestand met spaties, splitsing van het dossier voor elke <of na elke> en gaan vanaf daar. Als u een <of> in de gegevens, dan ben je gaan doen, een beetje extra werk. Dat is het beste wat ik voor u kan doen op dit moment.

ShawnMilo
  #6 (permalink)  
Old 03-20-2008
Streetrcr Streetrcr is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posts: 10
proberen te beantwoorden mijn vraag hier, maar im nog worstelen Als dit werkt, dan doesnt i will mock-up een voorbeeld, ik dacht dat mijn beschrijving zijn goed genoeg withough hoeft te tijd om een voorbeeld tabel.

Ik vond op deze site Sed - An Introduction en Tutorial dat u kunt bereiken door patronen. het voorbeeld is:


Code:
sed '/start/,/stop/ s/#.*//'

Ik heb geprobeerd om <tr> mijn begin en </ tr> mijn stoppen maar ik bleef steeds fouten. Verder zou ik NIET (!) is dit dus in plaats van alles in het verwijderen van de tags, het verwijdert alles buiten de tags.
kan iemand me alsjeblieft helpen om dit sed opdracht werken?

bedankt

Laatst gewijzigd door Streetrcr; op 03.20.2008 04:05.. Reden: code tags
  #7 (permalink)  
Old 03-20-2008
bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: May 2005
Ligging: In het linkse byte van / dev / kmem
Berichten: 1.641
Citaat:
het enige probleem met uw oplossing is dat de meeste van de <tr> tags worden op meerdere lijnen in mijn html-pagina. dwz de tag kan worden geopend op lijn 7 en vervolgens gesloten op lijn 20.
Nou, ik vertelde je dat - bij gebreke van een voorbeeld - ik had een aantal veronderstellingen. Hier is een nieuwe versie die werkt op labels gaande over meerdere lijnen. Het zal nog niet vangst het geval van verscheidene "<tr> ...</ tr>" paren op een lijn, dat wel.


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

Hoe dit werkt: de "-n"-clausule zal stoppen sed van drukkerijen elke regel heeft gelezen, dus als u het script zou print gewoon niets. Dit is om (impliciet) gooit alle lijnen die niet in het opgegeven bereik.

Alles wat tussen de accolades wordt uitgevoerd wanneer binnen de range die op lijn 1. Zoals u kunt zien dat de laatste opdracht binnen de accolades, is een "P", die zal drukken alles binnen dit bereik. Als u de twee 's /...."- commando zou iets weten:


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

Zoals je kunt zien de vetgedrukte delen moeten worden geschrapt omdat ze geen deel uitmaken van wat je wilt. De twee 's /..."- commando (s \u003d vervangende) zorg voor dat samen met de tags zelf. Eindelijk de p (rint)-commando output het resultaat van alle trimmen.

Nog een woord, maar: Je hebt een tweede antwoord van mij omdat ik op prijs gesteld dat u aan het doen waren echt onderzoek op uw eigen. U bijna verbeurd dit antwoord, omdat dit:

Citaat:
[...] withough hoeft te tijd om een voorbeeld tabel
Merk je i have "tijd" niet alleen het schrijven van een script, maar zelfs verspild meer tijd aan het uitleggen hoe het werkt in de hoop dat niet alleen het oplossen van het probleem bij de hand, maar het verhogen van uw begrip op hetzelfde moment. Op de top van dat ik "verspild wat meer tijd" om te schrijven een script in mijn eerste post die niemand zal nodig omdat het was gebaseerd op verkeerde veronderstellingen. Aannames die wellicht niet zijn defect op alle zou ik hebben kunnen werken vanuit een voorbeeld gemaakt door "tijd".

Ik ben zelfs nu "verspillen wat meer tijd" uit te leggen waarom je soms geen antwoord op alle of een antwoord dat je niet kunt gebruiken. Ga figuur.

Ik hoop dat dit helpt.

bakunin
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 06:45.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0