seth_not@home: sed: Zeile ersetzen

Beitrag lesen

gudn tach Tobi!

würde gerne in einer Datei jede Zeile, die foo enthält (-> d.h. z.B. foo, foo123 usw.) durch die Zeile bar ersetzen.
Dazu versuchte ich es mit
sed -e '/^foo/s/^.*/bar/' default.action

ersetzen geht mit s///.
du willst aber ausserdem eine in-place-ersetzung durchfuehren. das kann afaik nicht jede sed-version. musst mal schauen, ob der parameter -i existiert. falls nicht, nimm einfach perl.

sed -i -e 's/^.*foo.*/bar/' file
perl -pi -e 's/^.*foo.*/bar/' file

falls du mehrere dateien ggf. rekursiv bearbeiten willst, kannst du das entweder ueber eine schleife (stichwort "for") bewerkstelligen oder mittels "find" oder ueber tools wie dem in perl geschriebenen textre.

prost
seth