html filten mit grep oder awk oder sed

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 03.06.2009 15:22:44

kann mir vielleicht jemand schnell auf die sprüge helfen, und zwar möchte ich gerne, aus einer html datei eine information heraus filtern. die datei, sieht wie folgt aus:

Code: Alles auswählen

<td class="h100"><table cellpadding=0 cellspacing=0 class="wh100"><caption>Inhaltsbereichsteuerung</caption><tr><td><table cellspacing=0 cellpadding=0 class="snt"><tr><td nowrap class="fld"><a name="lnkFldr" href="?ae=Folder&t=IPF.Note&id=LgAAAABCBXk0Yo%2f2Rawe3XAFMUy1AQC9aGR5HINES4g1AaVSyaQoAAAACkHRAAAB&slUsng=0" title="Entw&#252;rfe"><img src="8.1.375.2/themes/base/drafts.gif" alt="">Entw&#252;rfe </a></td></tr><tr><td nowrap class="fld"><a name="lnkFldr" href="?ae=Folder&t=IPF.Note&id=LgAAAABCBXk0Yo%2f2Rawe3XAFMUy1AQC9aGR5HINES4g1AaVSyaQoAAAACkobAAAB&slUsng=0" title="Gel&#246;schte Objekte"><img src="8.1.375.2/themes/base/bdeleted.gif" alt="">Gel&#246;schte Objekte </a></td></tr><tr><td nowrap class="fld"><a name="lnkFldr" href="?ae=Folder&t=IPF.Note&id=LgAAAABCBXk0Yo%2f2Rawe3XAFMUy1AQC9aGR5HINES4g1AaVSyaQoAAAACkoaAAAB&slUsng=0" title="Gesendete Objekte"><img src="8.1.375.2/themes/base/sentitems.gif" alt="">Gesendete Objekte </a></td></tr><tr><td nowrap class="fld"><a name="lnkFldr" href="?ae=Folder&t=IPF.Note&id=LgAAAABCBXk0Yo%2f2Rawe3XAFMUy1AQC9aGR5HINES4g1AaVSyaQoAAAACkHVAAAB&slUsng=0" title="Junk-E-Mail"><img src="8.1.375.2/themes/base/junkemail.gif" alt="">Junk-E-Mail </a></td></tr><tr><td nowrap class="fld sl bld"><a name="lnkFldr" href="?ae=Folder&t=IPF.Note&id=LgAAAABCBXk0Yo%2f2Rawe3XAFMUy1AQC9aGR5HINES4g1AaVSyaQoAAAACkoYAAAB&slUsng=0" title="Posteingang"><img src="8.1.375.2/themes/base/inbox.gif" alt="">Posteingang </a><span class="unrd">(1)</span></td></tr></table><table cellspacing=0 cellpadding=0 class="brwst"><tr><td align="center" nowrap><a class="lnk" id="lnkBrwsAllFldrs" href="#" onClick="return onClkBrwsFld();">Durch Klicken alle Ordner anzeigen<img src="8.1.375.2/themes/base/brwsfld.gif" alt=""></a></td></tr></table><input type="hidden" name="hidactbrfld" value=""><table cellspacing=0 cellpadding=0 class="snfmb"><tr><td nowrap><a href="#" id="lnkMngFldr" onClick="return onClkFM()"><img src="8.1.375.2/themes/base/root.gif" alt="">Ordner verwalten...</a></td></tr></table></td></tr></table></td>
aus dieser datei, möchte ich jetzt die anzahl der mails herausfiltern, die neu angekommen sind:
>Posteingang </a><span class="unrd">(1)</span>
die 1 in den klammern wäre jetzt eine neue mail und genau diese zahl versuche ich heraus zu filtern, ich habe mir die programme grep, awk, sed angeschaut, aber ich muß sagen, ich bin ja erschlagen worden mit den regulären ausdrücken :( hat jemand ne ahnung, wie ich das bewerkstelligen könnte, mit der shell? oder gibt es so was wie nen html tree parser?
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: html filten mit grep oder awk oder sed

Beitrag von ThorstenS » 03.06.2009 15:59:22

Ich habe deinen HTML-Code in eine Textdatei mit dem Namen unr gesteckt und sed filtern lassen. Der Output entspricht der Zahl zwischen den runden Klammern:

Code: Alles auswählen

sed -e 's#.*unrd">(\([[:digit:]]\{1,\}\)).*#\1#' unr

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 03.06.2009 17:00:27

danke sehr ! wie kann man diese regulären ausdrücke am besten beherschen lernen. die sehen ja immer mega verwirrent aus.
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: html filten mit grep oder awk oder sed

Beitrag von ThorstenS » 03.06.2009 17:06:36

stimmt, jetzt wo ich ihn fertig sehe, kann ich nicht fassen, dass ich ihn erstellt habe :lol:

google nach regex und howto, es gibt auch kleine Programme, die einem dabei helfen. Ich mache das oft mit try an error. Man wird mit der Zeit besser...

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 03.06.2009 17:10:56

werde ich mal machen, aber eigentlich hoffe ich, diese nicht unbedingt immer nutzen zu müssen ;) unter python gibts zu mindest nen dom tree. wäre nicht übel, wenn es so was für die shell geben würde ;)
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: html filten mit grep oder awk oder sed

Beitrag von ThorstenS » 03.06.2009 17:16:41

das Paket xmlstarlet kann z.B. xml-files sezieren - obs dir hierbei geholften hätte, kann ich nicht sagen.
Es führen ja bekanntlich mehrere Wege nach ROM :mrgreen:

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 03.06.2009 17:18:52

könnte man das auch für html nutzen?
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 03.06.2009 18:54:02

@ThorstenS

sag mal, ich habe gerade gehört, das es wohl unter kde nen reg editor gibt, mit dem man irgendwie die ausdrücke berechnen kann. haste von so etwas schon gehört? leider nutze ich kein kde, sondern lxde und wollte mir ungern die qt libs noch drauf schmeißen. vielleicht gibt es noch irgendwas anderes in der art, denn die idee wäre ja mal echt gut.
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: html filten mit grep oder awk oder sed

Beitrag von ThorstenS » 03.06.2009 22:41:36

ich dachte lxde vereint das beste von gnome/kde und XFCE, dann hättest du schon einige libs auf dem System. Aber lxde ist zu neu für mich, habe ich noch nicht genutzt.

Ich habe so einen regex-Baukasten auch schonmal für die console gesehen, aber bin nie warm geworden mit sowas.

aptitude search regex liefert aber spontan mindestens diese 3 Pakete: regexxer kodos kiki

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: html filten mit grep oder awk oder sed

Beitrag von The Hit-Man » 04.06.2009 10:18:24

habe dann doch mal diesen kredexeditor genommen. so weit so gut und bekomme auch das gefiltert was ich brauche. ganz unten in der zeile von diesem tool, steht dann auch der reg ausdruck, nur kann ich den dann weder mit sed, grep und so weiter nutzen. also bringt mir das tool nichts :( ich schaue mir mal kiki an. habe nen paar screenshots mir davon mal angesehen. ich hoffe der ist bei lenny dabei.

EDIT:
lxde ist gar nicht mal so übel. klein, schnell, gut einstellbar und sieht gut aus ;)
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Antworten