Entfernen Sie alle HTML-tags aus einer Webseite

Ich bin dabei einige BASH-shell-scripting mit curl. Wenn mein curl Befehl gibt text, ich weiß ich habe einen Fehler. Dieser text zurückgegeben curl ist in der Regel in HTML. Ich dachte mir, dass wenn ich Streifen aus alle HTML-tags, konnte ich die Anzeige der resultierende text als Fehlermeldung.

Ich dachte an so etwas wie dieses:

sed -E 's/<.*?>//g' <<<$output_text

Aber ich bekomme sed: 1: "s/<.*?>//": RE error: repetition-operator operand invalid

Wenn ich ersetzen *? mit * ich nicht den Fehler (und ich bekomme keine text). Wenn ich entfernen Sie die globalen (g) Flagge, bekomme ich den gleichen Fehler.

Dies ist auf Mac OS X.

  • HTML kann nicht geparst werden, die mit regulären Ausdrücken. ein einfaches Beispiel: <img alt="<this is an image>" src="...">
  • Für eine Sekunde dachte ich Sie könnte die Verknüpfung zu einem meiner vielen Beiträge, wo ich an diesem Punkt. Die sed ist eigentlich nur ein macguffin. Ich wollte nicht, dass meine Frage geschlossen, weil ich zeigen nicht mein code. Was ich wirklich gehofft, jemand sagt "Hey, idiot, wenn du bist so ein Unix-Experte, warum nicht einfach mit *foo*? Das ist es, was *foo* ist wohl um zu verwendet werden. Es ist auf allen Unix - /Linux-Betriebssystemen." Ich würde es in Perl, aber Perl sind keine HTML-parsing-Module, und ich kann nicht installieren Sie Sie in dieser situation. Zu viele Systeme und ich glaube auch nicht kontrollieren.
InformationsquelleAutor David W. | 2013-07-24
Schreibe einen Kommentar