Textblock zwischen zwei Wörtern extrahieren
Aufgabe:
Sie haben z.B. eine HTML Datei aus der Sie Alle Überschriften (<hx></hx>)
auslesen wollen.
Hier ein vereinfachtes Beispiel:
Dieser Text steht z.B. in einer Datei mit dem Namen index.html
<html>
<head><head>
<body>
<h1>Überschrift 1</h1>
<p>irgendeintext</p>
<h2>Überschrift 1.a</h2>
<p>irgendeinweiterertext</p>
<h3>Überschrift 1.a.a</h3>
<p>irgendeinweiterertext</p>
<h3>Überschrift 1.a.b</h3>
<p>irgendeinweiterertext</p>
<h2>Überschrift 1.b</h2>
<p>irgendeinweiterertext</p>
<p>nocheintextdarunter</p>
<p>nochwas</p>
<h1>Überschrift 2</h1>
<p>irgendeinweiterertext</p>
<h2>Überschrift 2.a</h2>
<p>irgendeinweiterertext
nochwasuninteressantes
nocheinlangweiligerkram</p>
<h1>Überschrift 3</h1>
<p>irgendeinweiterertext</p>
<body>
</html>
Sie möchten jetzt nur die Überschriften aus dem Text sehen.
Lösung:
Das können Sie unter anderem mit dem Befehl awk realisieren.
Der komplette Befehl um nur die Überschriften anzuzeigen ist:
awk '/<h.>/,/<\/h.>/' index.html >Ausgabedatei
Ergebnisausgabe:
<h1>Überschrift 1</h1>
<h2>Überschrift 1.a</h2>
<h3>Überschrift 1.a.a</h3>
<h3>Überschrift 1.a.b</h3>
<h2>Überschrift 1.b</h2>
<h1>Überschrift 2</h1>
<h2>Überschrift 2.a</h2>
<h1>Überschrift 3</h1>
Und wozu das Ganze?
Hiermit kann man sich ganz schnell ein Inhaltsverzeichnis zusammenstellen.