ubuntuusers.de

Bash: HTML-Text bereinigen

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

SebCon

Anmeldungsdatum:
17. November 2007

Beiträge: Zähle...

Hallo,
ich möchte einen HTML-Text bereinigen, so dass nur der Textinhalt ausgegeben wird, wie folgt:

Eingabe:
<a href="x"><b>Text 1</b></a>
<a href="x"><b>Text 2</b></a>
<a href="x"><b>Text 3</b></a>

Ausgabe:
Text 1
Text 2
Text 3

Wenn ich das mit sed "s/<.*>//g" mache, dann gibt er nix aus. Warum?

MfG SebCon

blackbird Team-Icon

Avatar von blackbird

Anmeldungsdatum:
19. November 2004

Beiträge: 3397

Wohnort: Hermagor, Kärnten - Österreich

$ echo '<a href=wtf.html>blub</a><!-- blub --> hehe' | perl -pe 's/(<!--.*?-->|<[^>]*>)//g'
blub hehe

fanarell

Anmeldungsdatum:
16. November 2006

Beiträge: 71

noch einfacher:

lynx -dump -nolist deinehtmldatei.html

Gruß
Daniel

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Funktioniert allerdings nur, wenn lynx tatsächlich installiert ist, was bei den wenigsten Desktop-Systemen der Fall sein dürfte.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17620

Wohnort: Berlin

SebCon hat geschrieben:

Warum?

<a href="x"><b>Text 1</b></a>
Weil sed das längstmögliche Match sucht, und das Größerzeichen am Zeilenende auf das Größerzeichen paßt, und das Kleinerzeichen am Anfang paßt, und alles dazwischen ist 'beliebig viele beliebige Zeichen':

"s/<.*>//g"

Antworten |