Suchen und Ersetzen bei fortlaufender Nummerierung: Platzhalter?
Neon
- html
1 Fred Furunkelstein 20120 Kai3450 Neon
0 dedlfix
Hallo,
ich muss jeweils rund 800 Ersetzungen in rund 800 HTML-Dateien vornehmen. Diese rund 640.000 Ersetzungen kann ich keinesfalls manuell erledigen, daher benötige ich eure Hilfe.
Zu ersetzen ist in jeder dieser Dateien:
<a href="archive.cgi?option=1&page=1">
durch <a href="archive1.htm">
<a href="archive.cgi?option=1&page=2">
durch <a href="archive2.htm">
<a href="archive.cgi?option=1&page=3">
durch <a href="archive3.htm">
...
<a href="archive.cgi?option=1&page=800">
durch <a href="archive800.htm">
Wie kann man das bewerkstelligen?
Ich habe es mit Notepad++ und regulären Ausdrücken versucht, weiß aber nicht, ob und wie ich Platzhalter (Wildcards) für den "Ersetzen-String" benutzen kann, damit die Nummer aus dem "page"-Parameter an der Stelle ### in archive###.htm eingesetzt wird.
Vielen Dank im Voraus für eure Hilfe!
Gruß
Neon
Wie kann man das bewerkstelligen?
Bei mir klappt das mit kate unter Linux prima:
Suchen: archive.cgi?option=1&page=([0-9])+
Ersetzen: archive\1.htm
Regulärer Ausdruck: ein
Vorher:
<a href="archive.cgi?option=1&page=1"> durch <a href="archive1.htm">
<a href="archive.cgi?option=1&page=2"> durch <a href="archive2.htm">
<a href="archive.cgi?option=1&page=3"> durch <a href="archive3.htm">
...
<a href="archive.cgi?option=1&page=800"> durch <a href="archive800.htm">
Nachher:
<a href="archive1.htm"> durch <a href="archive1.htm">
<a href="archive2.htm"> durch <a href="archive2.htm">
<a href="archive3.htm"> durch <a href="archive3.htm">
...
<a href="archive0.htm"> durch <a href="archive800.htm">
Wie kann man das bewerkstelligen?
So klappt das noch besser: (Das Plus in die Klammer für den ersten Speicher)
Suchen: archive.cgi?option=1&page=([0-9]+)
Ersetzen: archive\1.htm
Regulärer Ausdruck: ein
Fred
Suchen: archive.cgi?option=1&page=([0-9]+)
Ersetzen: archive\1.htm
Regulärer Ausdruck: ein
Ja, so klappt es. Vielen Dank!
[latex]Mae govannen![/latex]
Zu ersetzen ist in jeder dieser Dateien:
<a href="archive.cgi?option=1&page=1">
durch<a href="archive1.htm">
<a href="archive.cgi?option=1&page=2">
durch<a href="archive2.htm">
Willst du das wirklich? Irgendwann fängst du dann wieder an, es umzustricken. In Links würde ich immer Konstrukte verwenden, die man unabhängig von der dahinterliegenden Technik nicht ändern muß und stattdessen serverseitig umschreiben lässt, wie man es gerade braucht.
Also beispielsweise <a href="archive/2">
<a href="archive/800">
Stur lächeln und winken, Männer!
Kai
Willst du das wirklich?
Ja, grundsätzlich gebe ich dir aber Recht.
Hier geht es aber um Archivseiten, die nie wieder umgestrickt werden, solange Browser HTML verstehen. :-)
Tach!
Ich habe es mit Notepad++ und regulären Ausdrücken versucht, weiß aber nicht, ob und wie ich Platzhalter (Wildcards) für den "Ersetzen-String" benutzen kann, damit die Nummer aus dem "page"-Parameter an der Stelle ### in archive###.htm eingesetzt wird.
Die Dokumentation dazu ist etwas versteckt aber zu finden: http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions.
dedlfix.