Wie wird der Inhalt zwischen HTML-spezifischen Tags mit dem Attribut grep abgeglichen?

8

Welchen regulären Ausdruck sollte ich mit dem Befehl grep verwenden, wenn ich den Text im Tag <div class="Message"> und sein schließendes Tag </div> in einer HTML-Datei suchen wollte?

    
Albz 26.11.2012, 14:11
quelle

3 Antworten

8

Hier ist eine Möglichkeit mit GNU grep :

%Vor%

Wenn sich Ihre Tags über mehrere Zeilen erstrecken, versuchen Sie Folgendes:

%Vor%     
Steve 26.11.2012, 14:32
quelle
1

Sie können das tun, indem Sie eine Regex angeben:

%Vor%

Nicht, dass damit nur die Gehäuse gedruckt werden, die sich in derselben Zeile befinden. Wenn sich Ihr Tag über mehrere Zeilen erstreckt, können Sie Folgendes versuchen:

%Vor%     
sampson-chen 26.11.2012 14:15
quelle
1

Sie können es nicht zuverlässig mit nur grep tun. Sie müssen den HTML-Code mit einem HTML-Parser analysieren.

Was ist, wenn der HTML-Code etwas wie folgt hat:

%Vor%

Sie erhalten einen falschen Treffer für diesen auskommentierten Code.

Ziehen Sie die Verwendung von xmlgrep aus dem XML::Grep Perl-Modul in Betracht, wie hier besprochen: Titel einer HTML-Datei mit grep extrahieren

    
Andy Lester 26.11.2012 15:55
quelle

Tags und Links