sed 命令替换文件中的第一个匹配项不起作用

Aja*_*are 2 regex awk sed

我正在尝试替换文件中出现的第一个字符串。例如尝试用linux替换第一个foo

样本.txt

Hi foo bar
This is again foo bar.
Run Code Online (Sandbox Code Playgroud)

命令:sed '0,/foo/s//linux/' sample.txt

上述命令的实际输出(基本没有变化)

Hi foo bar
This is again foo bar.
Run Code Online (Sandbox Code Playgroud)

我的预期输出如下

Hi linux bar
This is again foo bar.
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

0st*_*ne0 5

/tmp/test.txt

Hi foo bar!
This is again foo bar
Run Code Online (Sandbox Code Playgroud)

使用以下命令仅替换搜索字符串的第一个字符;

Hi foo bar!
This is again foo bar
Run Code Online (Sandbox Code Playgroud)

结果

Hi linux bar!
This is again foo bar
Run Code Online (Sandbox Code Playgroud)