sed/regex: Wie passt '<' oder '>' in einen string

Ich bin auf der Suche nach Spiel alle weniger als ('<') oder größer als ('>') Zeichen in einer Datei mit sed. Ich möchte nur das Spiel der einzelnen Zeichen

Mein Ziel ist, ersetzen Sie Sie mit ' <' und '> ' (stellen Sie sicher Sie haben weiße Raum um Sie herum, so kann ich analysieren Sie einfacher) bzw.

Beispielsweise, es würde passen:
(ohne Leerzeichen innerhalb der tags)

< p >Hey this is a paragraph.< /p >< p >And here is another.< /p >

.. und drehen Sie ihn in (beachten Sie die Leerzeichen)

 < p > Hey this is a paragraph. < /p >  < p > And here is another. < /p > 

Hier ist, was meine ursprüngliche (falsche) Vermutung war:

sed 's/<{1}|>{1}/<> /' ...


Es passt das ganze Wort/Zeile, das ist nicht gewünscht, und es ist auch nicht zu ersetzen, richtig.

Sowieso, jede mögliche Hilfe würde geschätzt! Danke!

  • Sie wirklich nicht wollen, zu analysieren, HTML mit regulären Ausdrücken. Verwenden Sie einen HTML-parser. (siehe stackoverflow.com/a/1732454 ist eines der am meisten von Ihnen positiv bewertet werden Antworten auf SO gutem Grund)
  • während ich im Allgemeinen Zustimmen zu deiner Behauptung, mit regexes kann immer noch sein okay für die Prüfung und dergleichen ... wenn es größer ist als diese, mit einem richtigen parser, obwohl.
  • Haha ja, ich weiß. Ich habe gesehen, dass man. Ich Schreibe ein Spielzeug akademischen HTML-Formatierer in perl für eine sehr kleine Teilmenge der tags. Ich bin nur mit sed und regex, um sicherzustellen, es ist das Leerzeichen, dass mein perl-code braucht.
InformationsquelleAutor jiman | 2011-12-21
Schreibe einen Kommentar