Ich fühle mich wie ein absoluter Neuling. Warum funktioniert das nicht?
$ echo foobar > textfile
$ sed /foo/bar/ textfile
sed: can't find label for jump to `ar/'
Ich habe auch sed "/foo/bar/" textfile
und ausprobiert sed '/foo/bar/' textfile
, was alles den gleichen Fehler ergibt.
Verwende Ubuntu 8.04 und GNU sed Version 4.1.5 über Bash.
Antwort1
Versuche dies: sed 's/foo/bar/' textfile
.
- Anführungszeichen um die Aussage sind eine gute Praxis
s
für Ersatz. Es ist der Befehl, den Sie ausführen möchten.foo
ist der Suchbegriffbar
der Ersatz.
Es gibt viele Informationen zu sed online. Zum Beispiel:http://www.catonmat.net/blog/sed-one-liners-explained-part-one/
Antwort2
Sie müssen sed
einen Befehl eingeben. Das Programm analysiert Ihre Eingabe als Suchmuster, /foo/
gefolgt vom Befehl b ar/
(Verzweigung zu Label ar/
). Sie meinten wahrscheinlich „s/foo/bar/“, also das Ersetzen der ersten Instanz von foo
durch bar
in jeder Zeile.