Hallo, trotz vielen Probieren finde ich keine Loesung, wie ich in einer HTML-Datei mit dem vim Text umgruppieren kann. Aus Zeilen wie <p>G & S Touristic GmbH & Co. KG<a href="http://www.gstouristic.de" target="_new"></a><br /></p> soll werden <p><a href="http://www.gstouristic.de" target="_new">www.gstouristic.de</a><br />G & S Touristic GmbH & Co. KG</p> Da es sich um knapp 200 Zeilen handelt, die so umgestellt werden muessen, habe ich keine Lust, das mit Copy und Paste zu machen, sondern versuche es wie ueblich mit dem vim zu bewerkstelligen. Dass die Ursprungszeile HTML-maessig etwas komisch aussieht, liegt uebrigens daran, dass ich dort bereits Telefonnummern, Adressen usw. geloescht habe. Das war aber auch nicht so schwierig wie die nun noch notwendige Umstellung. Genau scheiutere ich daran, dass ich z.B. "G & S Touristic GmbH & Co. KG" gar nicht erst eingelesen bekomme. Mein Ansatz mit \(<p>*http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hallo Heinz, hallo Leute, Am Montag, 3. November 2003 14:33 schrieb Heinz W. Pahlke:
trotz vielen Probieren finde ich keine Loesung, wie ich in einer HTML-Datei mit dem vim Text umgruppieren kann.
Aus Zeilen wie
<p>G & S Touristic GmbH & Co. KG<a href="http://www.gstouristic.de" target="_new"></a><br /></p>
Ich hoffe mal, dass der Umbruch nur in der Mail ist und in der Textdatei alles in einer Zeile steht ;-) Gäbe also als RegEx zum Suchen ^<p>\(.*\) Rest der Zeile "wegwerfen" 1. Gruppierung | 2. Gruppierung (bis vor das nächste ")
soll werden
<p><a href="http://www.gstouristic.de" target="_new">www.gstouristic.de</a><br />G & S Touristic GmbH & Co. KG</p>
Dann brauchst Du als Ersetzungsmuster
<p><a href="\2" target="_blank">\2</a>
\1<\/p>
Apropos: _new solltest Du nicht verwenden. Aus SelfHTML:
| Wenn Sie den Verweis in einem neuen Fenster öffnen wollen, weisen Sie
| bei target den Wert _blank (mit dem Unterstrich am Anfang!).
Das Ganze packst Du dann zusammen:
:%s/such-regex/ersetzen-regex/
Für die Funktion der RegExen kann ich jetzt allerdings nicht
garantieren, ist alles freihändig und ohne Tests formuliert ;-)
Da es sich um knapp 200 Zeilen handelt, die so umgestellt werden muessen, habe ich keine Lust, das mit Copy und Paste zu machen, sondern versuche es wie ueblich mit dem vim zu bewerkstelligen.
Dafür ist vim (oder sed oder perl oder...) ja da ;-)
Dass die Ursprungszeile HTML-maessig etwas komisch aussieht, liegt uebrigens daran, dass ich dort bereits Telefonnummern, Adressen usw. geloescht habe. Das war aber auch nicht so schwierig wie die nun noch notwendige Umstellung.
Genau scheiutere ich daran, dass ich z.B. "G & S Touristic GmbH & Co. KG" gar nicht erst eingelesen bekomme.
Hallo Christian, On 03-Nov-2003 Christian Boltz wrote:
Am Montag, 3. November 2003 14:33 schrieb Heinz W. Pahlke:
trotz vielen Probieren finde ich keine Loesung, wie ich in einer HTML-Datei mit dem vim Text umgruppieren kann.
Aus Zeilen wie
<p>G & S Touristic GmbH & Co. KG<a href="http://www.gstouristic.de" target="_new"></a><br /></p>
Ich hoffe mal, dass der Umbruch nur in der Mail ist und in der Textdatei alles in einer Zeile steht ;-)
Steht in einer Zeile. Die urspruneglich aus einer einzigen Zeile bestehende Datei so umzuwandeln, dass jeder Reiseveranstalter in _einer_ eigenen Zeile steht, hatte ich immerhin schon geschafft.
Auf die Idee, Punkt und Stern zu kombinieren, bin ich nicht gekommen :-(
soll werden
<p><a href="http://www.gstouristic.de" target="_new">www.gstouristic.de</a><br />G & S Touristic GmbH & Co. KG</p>
Dann brauchst Du als Ersetzungsmuster <p><a href="\2" target="_blank">\2</a>
\1<\/p>
Das bringt zwar noch ein "Pattern not found", aber das bekomme ich noch hin.
Apropos: _new solltest Du nicht verwenden. Aus SelfHTML: | Wenn Sie den Verweis in einem neuen Fenster öffnen wollen, weisen | Sie | bei target den Wert _blank (mit dem Unterstrich am Anfang!).
Bloss wird dann fuer jeden Link ein weiteres neues Fenster geoeffnet. Mit _new beschraenke ich dies auf _ein_ neues Fenster fuer _alle_ externen Links.
Was Du willst, ist die RegEx "<p>.*
Deshalb ja ".*"
Wenn man es weiss... Vielen Dank, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hallo, On 04-Nov-2003 Heinz W. Pahlke wrote:
Das bringt zwar noch ein "Pattern not found", aber das bekomme ich noch hin.
Inzwischen ist die Datei fertig bearbeitet. Habe zwar dann doch wieder
mit einem Wuerkaround gearbeitet, sprich zur Begrenzung von \2 einfach
ein <xxxx> eingebaut, aber ich will ja auch keinen Schoenheitspreis
fuer saubere RegEx gewinnen ;-)
Fuer jene, die es interessiert, hier noch der Suchen/Ersetzen-Befehl:
%s/<p>\(.*\)<a href="http:\/\/\(.*\..*)"><xxxx>/<p><a
href="http:\/\/\2" target="_new">\2<\/a>
\1\.<\/p>/g
Beste Gruesse,
Heinz.
--
http://www.pahlke-online.de/reisenews/
http://www.Pahlke-KunstWebDesign.de/
participants (2)
-
Christian Boltz
-
Heinz W. Pahlke