Page 1 of 1

Backup einspielen: suchen und ersetzen.

Posted: 2004-06-30 16:56
by perlitz
Hallo,

nach HDD crash wurde der Server neu aufgesetzt, und nun hat sich leider der Pfad von "/home/www" nach "/srv/www/htdocs" geändert.

Ich hab das Backup wieder eingespielt und wollte jetzt die Pfade anpassen. In dem SQL Dump war das auch kein Problem, doch bei den CGI's stelle ich mich zu blöde an.

Ich versuche da folgendes:

Code: Select all

find . -type f -name "*.html" -exec perl -p -i.bak -e 
's/alterstring/neuerstring/g' {} ;
Das klappt auch, doch wenn ich anstelle alterstring "/home/www" nehme, findet er nichts und ersezt dann auch nischt... :(

gleiche effekt bei meinem perl versuch:

Code: Select all

find . -type f | xargs perl -pi -e 's/alterstring/neuerstring/'
Hat jemand nen Tipp, ich lese hier ewig im man für grep und find, doch die lösung hab ich immer noch nicht. Knoten im Hirn :roll:

Danke und Gruss
Andreas

Re: Backup einspielen: suchen und ersetzen.

Posted: 2004-06-30 17:09
by mem
Ich wuerde die Pfade lassen wie sie sind und einen Symlink anlegen.

Versuche es mal so:

Code: Select all

find ./pfad -type f -print0 | xargs -0 perl -pi -e 's/alt/neu/g'

Re: Backup einspielen: suchen und ersetzen.

Posted: 2004-06-30 17:22
by Joe User

Code: Select all

's//home/www//srv/www/htdocs/g'

Re: Backup einspielen: suchen und ersetzen.

Posted: 2004-06-30 18:43
by perlitz
Boy, ist mir das unangenehm... nun wa ich so nahe drann und hab das doch nicht geschafft... :oops:

Vielen Dank für eure Hilfe, nu klappts (oder zu deutsch: nun habe auch ich endlich die Sache mit den / und geschnallt).

Re: Backup einspielen: suchen und ersetzen.

Posted: 2004-07-01 09:29
by mem
Du kannst als Trennzeichen auch ein anderes nicht alphanumerisches Zeichen nehmen, besonders bei der Suche nach Backslashes ist das praktisch:

Code: Select all

's|/home/www|/srv/www/htdocs|g'

Re: Backup einspielen: suchen und ersetzen.

Posted: 2004-07-05 13:06
by perlitz
@mem

Thanx, das macht es selbst für mich übersichtlich ;)