suchen und ersetzen in htmlseiten

Post Reply
Message
Author
berlotz

suchen und ersetzen in htmlseiten

#1 Post by berlotz »

ich komm nicht drauf.......


in mehreren html-Seiten möchte ich einen (String) langen Path in einen anderen
kuerzeren tauschen und die Ausgabe entweder in eine neue Datei
oder die alte ueberschreiben.

Suchtext in der html-Seite:
../_themes/frame-3/kugelblau4.gif

Ersatztext:
img/kugelblau4.gif



ich habe ex mit cat und mit sed probiert...aber leider kein Erfolg.

cat test.html | tr ../img/bild.gif ..neuesverzeichnis/bild1.gif > neuedatei.html

danach kommt nichst gescheites herraus...leider

sed 's/suchwort/neuertext/g' test.html > neuedatei.html
den befehl sed kann ich leider auch nicht verwenden das ich komplette verzeichnisse
angeben muss.


vielleicht kann mir jemand helfen..
danke im vorraus


juergen mueller

Bob Gomorrha

Re: suchen und ersetzen in htmlseiten

#2 Post by Bob Gomorrha »

Im Original von Descartes, 30.Juli 2002 in diesem Forum. Im konkreten Beispiel wird in allen Dateien *.html der String index.html auf indes.php geändert. Der erste Vorschlag von Descartes hat auf Anhieb geklappt.

cu

bg



perl -np -i.bak -e 's/index.html/index.php/g' *.html
Eventuell muss man im s/// Aufruf noch den Punkt noch maskieren -- grad nicht getestet
Mit dem Parameter "-i.bak" wird von jeder veränderten Datei eine Sicherungskopie mit Dateiendung *.bak angelegt. Wenn du keine Sicherungsdateien benötigst, dann lass einfach den Parameter -i.bak komplett weg.


mit Hilfe von find lassen sich dann auch gleich Unterverzeichnisse durchsuchen

find . -type f -name "*.html" -exec perl -np -i.bak -e 's/index.html/index.php/g' {} ;

wobei -exec jeweils einen neuen Prozess forkt und ab einer gewissen Trefferanzahl der find Aufruf mit xargs performanter ist

find . -type f -name "*.html" | xargs perl -np -i.bak -e 's/index.html/index.php/g'

berlotz

Re: suchen und ersetzen in htmlseiten

#3 Post by berlotz »

super....aber, hmm....
was ist wenn ich angeben muss ../_themes/wt-frame-3/kugelblau4.gif als Suchstring ????
wie kann ich so etwas angeben ohne das ab /kugelblau4.gif dieser als den ersatztext interpretiert ??

gruess

juergen

berlotz

Re: suchen und ersetzen in htmlseiten

#4 Post by berlotz »

hab was im forum gefunden und werds ausprobieren


perl -np -e 's#suchtext \| \ersatztext \|#' *.conf


gruss

juergen

Post Reply