Re: 'sed' und Variable als Suchmuster
On Saturday 01 November 2003 16:52, Michelle Konzack wrote:
> Hallo,
>
> Nachdem ich nun eine ganze weile 'man bash' und 'man sed' ein paar mal
> vorwärts und rückwärts gelesen habe muss ich nun doch Fragen:
>
> Ich suche ein verzeichnis ab und wenn eine Benannte datei gefunden
> wird, wird diese gesourced. In dieser Datei steht lediglich eine
> Variable, deren Wert sich von Directory zu Directory ändert.
>
> Also:
>
> if [ `ls FLAGFILE 2>/dev/null` ] ; then
> source FLAGFILE
> for i in `ls */*/*` ; do
> sed 's/$MY_FLAG//' $i > $i.tmp
> mv $i.tmp > $i
> done
> fi
>
> Mein Problem ist, das mic $MY_FLAG verläßt...
>
> Frage: Wie kann ich 'sed' davon überzeugen, das er $MY_FLAG als den
> String nimmt, den er suchen soll ?
Hallo,
bash ersetzt Variablen nur in "...", aber nicht in '...'. Daher entfernt
sed 's/$MY_FLAG//' $i > $i.tmp
den String '$MY_FLAG' und nicht den Inhalt der Variable. Um den Inhalt der
Variable zu ersetzen, braucht man
sed "s/$MY_FLAG//" $i > $i.tmp
>
> Danke
> Michelle
>
> --
> Registered Linux-User #280138 with the Linux Counter,
> http://counter.li.org.
Reply to: