最も基本的なsedコマンドをコマンドラインで実行できない

最も基本的なsedコマンドをコマンドラインで実行できない

まったくの初心者のように感じます。なぜこれが機能しないのでしょうか?

$ echo foobar > textfile
$ sed /foo/bar/ textfile
sed: can't find label for jump to `ar/'

および も試しましたsed "/foo/bar/" textfilesed '/foo/bar/' textfile、すべて同じエラーが発生します。

bash 経由で ubuntu 8.04 と GNU sed バージョン 4.1.5 を使用します。

答え1

これを試して:sed 's/foo/bar/' textfile

  • 文を引用符で囲むのは良い習慣です
  • s代替用。実行したいコマンドです。置換するfoo検索語句です。bar

sed に関する情報はオンラインでたくさんあります。例:http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

答え2

コマンドを指定する必要がありますsed。指定した内容は、検索パターン/foo/に続いてコマンドb ar/(ラベルへの分岐) として解析されます。おそらく、各行の最初のインスタンスをにar/置き換えるという意味で、's/foo/bar/' を意味していたのでしょう。foobar

関連情報