Am Die, 15 Okt 2002 schrieb Hans Gerber:
> Rainer Ellinger <[EMAIL PROTECTED]> schrieb am Sat, 12 Oct 2002
> 13:17:00 +0200::
> 
> > Hans Gerber schrieb:
> > > wie kriege ich denn jetzt ..."first"... in  ..."last"... ?
> > [sed f�r viele Dateien]
> 
> Mein 1. Problem scheint etwas mit den escapes zu tun zu haben.
> 
> ----schnipp---
> #!/bin/bash 
> foo1="DOCUMENT_ROOT_old"
> foo2="DOCUMENT_ROOT_new"
> [...]
>        if sed -e 's/'"$foo1"'/'"$foo2"'/g' "$f.bak" >"$f"
> [...]
> 
> So wie oben geht es jetzt, aber sobald ich das '$' Sonderzeichen in foo1
> mit reinnehme ist Ende: foo1=$DOCUMENT_ROOT_old. Dann schnmeisst das
> Skript die Fehlermeldung:
> "sed: -e expression #1, char 5: No previous regular expression".
> Dich es in meinem konkreten Fall nicht ben�tige, ist es nicht so
> wichtig, aber trotzdem w�rde mich mal interessieren, wie ich das l�sen
> kann.
> 

foo1="\$DOCUMENT_ROOT_old"
$foo1 wird ja sp�ter nur durch seinen Inhalt ersetzt => Du hast in
Deinem sed-Ausdruck das $ korrekt maskiert. 

> 2. Problem
> Die betroffenen Dateien index.php sind in bis zu dreifacher Tiefe in
> verschiedenen Unterverzeichnissen. Mit find ./ -name index.php kann ich
> in der shell wunderbar alle Dateien finden, aber wie kriege ich das in
> das obige Skript eingebaut. was ich erreichen m�chte ist:
> 
> for all in find ./ -name index.php mache ersetzung

Viele M�glickeiten
z.B. 
for i in `find ./ -name index.php`;do
#Ersetzung
done

Gru�

Christoph 
-- 
Christoph Maurer - http://www.christophmaurer.de
mailto:[EMAIL PROTECTED] - Tux# 194235


-- 
H�ufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an