我无法在命令行上执行最基本的 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/(分支到标签)。您可能指的是 's/foo/bar/',意思是在每一行中用替换ar/第一个实例。foobar

相关内容