Klaus Becker <[EMAIL PROTECTED]> schrieb: > Hallo, > > ich möchte in der Datei "test.txt" "111" durch "222" ersetzen. Laut einer > "Linux-Bibel" müsste das mit > "sed '1,$s/111/222/g' test.txt" gehen. Sed zeigt mir aber nur "222" an, ohne > die Datei zu verändern: > > ------------- > $ sed -e '1,$s/111/222/g' test.txt > 222 > ------------ > > Was ist da falsch? Ich hab' versucht, mich selbst schlau zu machen, krieg's > aber allein nicht gerafft.
'sed' ist ein Filter. Du wirfst was rein, sed filtert und wirft es am Ende des Filters wieder raus. Das Ende ist hier die Standard-Ausgabe. Leite diese in eine andere Datei und arbeite mit der weiter. Falls Du in der Originaldatei das machen willst: leite die Ausgabe in eine temp. Datei und move diese dann auf die Originaldatei. Oder nimm perl: perl -pi -e 's/111/222/' ./test.txt (In-Place - Edit von Perl) Andreas -- Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau- fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-) -- Haeufig 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)