<html>-Tags löschen

Um aus einer Datei alle html-Tags zu löschen, bietet sich sed an. Ich dachte erst, das geht einfach so:

's/<.*>//g'

Aber damit löscht mann alles zwischen dem ersten < und dem letzten >. So geht es:

sed -e 's/<[^>]*>//g'

Warum? Dinge in eckigen Klammern sind Zeichenklassen, etwa steht [0-9] für alle Zahlen. Steht ein ^ davor, dann dreht es das um, also alles, was nicht in der Klammer steht. Beispiele:

$ echo t12e34x5678t | sed 's/[0-9]//g'
text
$ echo t12e34x5678t | sed 's/[^0-9]//g'
12345678

Im obigen Befehl werden alle Zeichen vom < und null oder beliebig viele, die nicht > sind bis zum > ersetzt.

Advertisements
<html>-Tags löschen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s