Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage an Skript- & Perlfreaks (HTML)
Hi @ll!
Ich würde gerne in einer sehr großen HTML-Indexdatei (1,4MB) alle in ihr vorkommen Strings in der Form
.. HREF=rezept.cgi?17823773>..
durch
.. HREF=rezept.cgi@17823773.html>..
ersetzen.
Also
1) nach jedem .cgi soll das Fragezeichen durch ein @ ersetzt werden
2) nach der nachfolgenden Zahl soll .html eingefügt werden. Leider ist die Zahl danach nicht immer 8 Stellen groß.
BITTE, BITTE helft mir weiter... (egal wie :))
Ciao
-=<artSpin>=-
hi
das kann z.b.vim, (gvim+kvim sind mit grafischer oberfläche)
option: suchen+ersetzen
gruß cotelli
Ich sehe nur darin das Problem, dass die Strings ja irgendwie dynamisch gehandhabt werden müssen -> ich kann ja nicht jedes ? durch ein @ ersetzen lassen, dann ersetzt es mir auch die "restlichen" Fragezeichen.
hi
sieh dir mal bitte den screenshot an, er sucht den eingegebenen string und ersetzt ihn durch den angegebenen, er ändert dir nicht ein ? in ein @ oder umgekehrt.
es sei denn du gibst es so in das suchmuster ein.
gruß cotelli
p.s. du kannst dir die datei auch erstmal sichern und dann probieren. :)
Ich würde es mir KWrite machen, aber es müsste auch mit jedem anderen Editor gehen, der reguläre Ausdrücke unterstützt. Lass einfach ".cgi\?([\d]*)>" durch ".cgi@\1.html>" ersetzen und aktiviere "Regulärer Ausdruck" und "Platzhalter verwenden".
Nicolas
sed -e "s/cgi?\([0-9][0-9]*\)/cgi@\1.html/g" myfile.html
Tausend Dank @Who-T (und die anderen auch :-)
So hat es genialst funktioniert. Ich musste nur noch die Ausgabe per
sed ... > index_neu.html in eine neue Datei umleiten.
Da fällt mir ein, ich hatte schon mal ein html-Bearbeitungsproblem vor einiger Zeit gehabt. Da hat mir auch ein "Guru" mit sed weitergeholfen. Das Teil ist ja echt der Hammer. Jetzt weiss ich auch, warum man mit sed & awk ein ganzes Buch füllen konnte!!! :D
Ciao
-=<artSpin>=-
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.