SED

Post Reply
Message
Author
kiko

SED

#1 Post by kiko »

Hallöchen nochmals,

ich stolpere im Moment über eine Stelle und weiß nicht weiter:
Linux bash:

a und b sind Wörter

if [$a=$b]
then
sed s/$a/$b<filename und hier ist der Pumkt.
fi

Ich möchte mit sed in einer Datei überall wo a steht durch b ersetzen. Aber es funktioniert nicht...

Kann jemand helfen??

Jochen

Re: SED

#2 Post by Jochen »

Hab ich das recht verstanden: Wenn der $a gleich $b ist, dann ersetze jedes Auftreten von $a durch $b? Streich den Code-Block oben ersatzlos, dann bist Du fertig.

Jochen

Zaphod

Re: SED

#3 Post by Zaphod »

*g*

Mal abgesehen vom Sinn oben genannter Konstruktion sollte die sed Syntax für ersetzen doch eher so aussehen:

sed -e 's/alt/neu/g' Eingabedatei > Ausgabedatei

Das ersetzen direkt in der gleichen Datei geht glaub ich nicht, immer nur über den Umweg einer temporären Datei.

[mehr dazu? hier: http://de.wikipedia.org/wiki/sed ]


Zaphod

brum

Ohne PDS

#4 Post by brum »

tr a b
oder so ähnlich ?

kiko

Re: SED

#5 Post by kiko »

Sorry für den Unsinn ganz oben.. :)
Ihr habt Recht.. (schlagt mich bitte nicht mehr)

Aber danke für die Hinweise. Die Syntax war es wiedermal...

Thnx

kiko

Post Reply