Ich habe in einem Verzeichnis 32 Dateien *.html.
In all diesen Dateien möchte ich den Text index.html durch index.php ersetzen.
Dank im Voraus
bg
Suchen und ersetzen!
Re: Suchen und ersetzen!
Hi Bob,
hab leider gerade keine html Dateien zum ausprobieren, aber
for file in *.html; do mv $file `basename $file .html`.php; done
oder so aehnlich muesste den Job machen.
tj
hab leider gerade keine html Dateien zum ausprobieren, aber
for file in *.html; do mv $file `basename $file .html`.php; done
oder so aehnlich muesste den Job machen.
tj
Re: Suchen und ersetzen!
find . -name "*.html" -exec perl s/index.html/index.php/g {} ;<!--no-->
Das Problem ist, das perl Kommando stimmt so nicht ganz, ist erstmal nur die Idee dahinter. Ich hab die korrekte Syntax leider nicht im Kopf. Da fehlt auf jeden Fall noch ein switch. Vermutlich mußt Du auch die "/" noch maskieren:
find . -name "*.html" -exec perl s\/index.html\/index.php\/g {} ;<!--no-->
Weiß ich nicht und werde ich vermutlich nie lernen. Ist nur ne Idee, bis jemand hier mit einer brauchbaren Lösung ankommt.
Alternativ gibt es ein Programm namens "sed_inline". Wie der Name nahelegt, eine sed Version, die "inline replacements" machen kann.
Solltest Du also fit auf sed sein, evtl. eine günstigere Möglichkeit als perl.
vi kann das auch, aber ich weiß leider nicht, wie
Ok, wirklich hilfreich ....
Das Problem ist, das perl Kommando stimmt so nicht ganz, ist erstmal nur die Idee dahinter. Ich hab die korrekte Syntax leider nicht im Kopf. Da fehlt auf jeden Fall noch ein switch. Vermutlich mußt Du auch die "/" noch maskieren:
find . -name "*.html" -exec perl s\/index.html\/index.php\/g {} ;<!--no-->
Weiß ich nicht und werde ich vermutlich nie lernen. Ist nur ne Idee, bis jemand hier mit einer brauchbaren Lösung ankommt.
Alternativ gibt es ein Programm namens "sed_inline". Wie der Name nahelegt, eine sed Version, die "inline replacements" machen kann.
Solltest Du also fit auf sed sein, evtl. eine günstigere Möglichkeit als perl.
vi kann das auch, aber ich weiß leider nicht, wie
Ok, wirklich hilfreich ....
Re: Suchen und ersetzen!
Danke vorerst mal für die Antworten - werd´s heute abend auf einer Kopie testen. Sag euch dann Bescheid.
Re: Suchen und ersetzen!
Leider Fehlanzeige!
Hab mich aber vielleicht auch falsch ausgedrückt.
32 Dateien, die alle auf *.html enden.
IN diesen Dateien (im HTML-Code) gibt es Verweise auf die index.html. Jetzt soll IN diesen Dateien der Verweis aber nicht mehr auf
index.html sondern auf index.php lauten. Also im Prinzip: suche index.html und ersetze durch index.php.
Dank schon mal
bg
Hab mich aber vielleicht auch falsch ausgedrückt.
32 Dateien, die alle auf *.html enden.
IN diesen Dateien (im HTML-Code) gibt es Verweise auf die index.html. Jetzt soll IN diesen Dateien der Verweis aber nicht mehr auf
index.html sondern auf index.php lauten. Also im Prinzip: suche index.html und ersetze durch index.php.
Dank schon mal
bg
Re: Suchen und ersetzen!
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' {} ;<!--no-->
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'
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' {} ;<!--no-->
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!
Guru, Guru!!!
Mächtig Skriptgut, Descartes!
Die erste Zeile hat auf Anhieb funktioniert.
Dank Dir nochmal.
bg
Mächtig Skriptgut, Descartes!
Die erste Zeile hat auf Anhieb funktioniert.
Dank Dir nochmal.
bg