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)

