Hallo alle,
ich versuche gerade meine Seite auf ein neues CMS umzustellen und sitze jetzt hier mit einem MySQL Dump des alten CMS. Ich möchte nun alle Links die ich in meinem alten System (SnipSnap) hatte, auch in meinem neuen (typo) weiterverwenden. Dazu wollte ich das Markup für Links mit Hilfe von sed ändern. Das ganze soll in meinen MySQL Dump tauchen und dort alles was so ausschaut:
{link:so ein link halt|http://linkziel.de/}
In sowas wandeln:
[so ein link halt](http://linkziel.de/ "so ein link halt")
Zum "üben" habe ich etwas Blindtext erzeugt:
Dem bin ich dann mit folgendem Befehl zu Leibe gerückt:blablala {link:guck ein link|http://link.de} blubber.
Das ist eine längere Zeile {link:delve into DEVONthink|http://www.macdevcenter.com/pub/a/mac/2005/08/26/ten Seiten) oh ja.
Zwei in einer Zeile:
da {link:eins|http://link.de} und da{link:auch|http://link.de}.
{link:Google|http://www.google.de/}
Das funktioniert aber nur mit einem Link pro Zeile und auch nicht mit einem Link der über eine Zeile gebrochen wird:Code:cat text.txt |sed 's@{link:\(.*\)|\(.*\)}@[\1](\2 "\1")@g' | cat
blablala [guck ein link](http://link.de "guck ein link") blubber.
Das ist eine l?ngere Zeile {link:delve into DEVONthink|http://www.macdevcenter.com/pub/a/mac/2005/08/26/ten Seiten) oh ja.
Zwei in einer Zeile:
da [eins|http://link.de} und da{link:auch](http://link.de "eins|http://link.de} und da{link:auch").
[Google](http://www.google.de/ "Google")
Dann habe ich eine andere regexp gesucht und bin dann damit noch mal los:
Das passt dann auch auf mehr als einen Link pro Zeile, aber nicht auf den umgebrochenen und auch nicht mehr auf Links die Leerzeichen enthalten...Code:cat text.txt |sed 's@{link:\([^ ][^ ]*.\)|\([^ ][^ ]*.\)}@[\1](\2 "\1")@g' | cat
Und da weiß ich nun nicht mehr weiter...blablala {link:guck ein link|http://link.de} blubber.
Das ist eine l?ngere Zeile {link:delve into DEVONthink|http://www.macdevcenter.com/pub/a/mac/2005/08/26/ten Seiten) oh ja.
Zwei in einer Zeile:
da [eins](http://link.de "eins") und da[auch](http://link.de "auch").
[Google](http://www.google.de/ "Google")
Kann mir hier vielleicht irgend jemand auf die Sprünge helfen wie ich die regexp schreiben kann, das das auch mit mehreren Links pro Zeile und Leerzeichen und Umbrüchen klappt?
Vielen, vielen Dank schon einmal.
der Dennis
Lesezeichen