Ich habe eine HTML-Datei, in der einige Zeilen mit <br>
beginnen. Wenn es zwei in einer Reihe gibt, möchte ich die erste löschen. Es scheint, als ob dies funktionieren sollte ...sed, um erste aufeinanderfolgende Zeilen zu entfernen, die mit einem Muster beginnen
sed '/^<br>/{N;/^<br>/ s/^.*\n//}'
... aber es nicht.
Edit:
Eingang:
<br>Here's a line I don't want.
<br>Here's a line I do want.
<a href="http://google.com">Google</a>
Ausgang:
<br>Here's a line I do want.
<a href="http://google.com">Google</a>
Edit 2:
ich das Problem mit dem Befehl Arbeits Hälfte verengt haben die Zeit. Wenn Linie 1 und Linie 2 Start mit <br>
, Zeile 1 ordnungsgemäß gelöscht, aber das Skript bewegt sich auf Linien 3 und 4, ohne sich vorher vergewissert 2 und 3.
Bitte fügen Sie Beispieleingabe und Ihre gewünschte Ausgabe für diese Beispieleingabe zu Ihrer Frage hinzu. – Cyrus
Wenn Sie nach zwei '
' s in einer Reihe suchen, warum nicht 'sed" s/^
/
/g "test.html'? – 1sloc
Editiert für Eingabe/Ausgabe. – user1889034