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
suchen und ersetzen in htmlseiten
Re: suchen und ersetzen in htmlseiten
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'
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'
Re: suchen und ersetzen in htmlseiten
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
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
Re: suchen und ersetzen in htmlseiten
hab was im forum gefunden und werds ausprobieren
perl -np -e 's#suchtext \| \ersatztext \|#' *.conf
gruss
juergen
perl -np -e 's#suchtext \| \ersatztext \|#' *.conf
gruss
juergen