Bash sed仅更改文件中的字符串一次

Bash sed仅更改文件中的字符串一次,bash,sed,command-line-interface,Bash,Sed,Command Line Interface,建议我有一个文件示例,如下所示: c a b a b d 我想把第一次出现的a改为e。然后我会这样做: sed -i 's/a/e/' example 并且所有a更改为e 那么有没有办法让sed在一个文件中只替换一次呢 谢谢。将Aziz的重复链接中的信息应用于您的问题,我认为这将为您的案例提供所需的结果: sed -i '0,/a/s//e/' example sed -i '0,/a/s//e/' example 将Aziz的重复链接中的信息应用于您的问题,我 您认为这将为您的案例提供

建议我有一个文件
示例
,如下所示:

c
a
b
a
b
d
我想把第一次出现的
a
改为
e
。然后我会这样做:

sed -i 's/a/e/' example
并且所有
a
更改为
e

那么有没有办法让sed在一个文件中只替换一次呢


谢谢。

将Aziz的重复链接中的信息应用于您的问题,我认为这将为您的案例提供所需的结果:

sed -i '0,/a/s//e/' example
sed -i '0,/a/s//e/' example

将Aziz的重复链接中的信息应用于您的问题,我 您认为这将为您的案例提供所需的结果:

sed -i '0,/a/s//e/' example
sed -i '0,/a/s//e/' example
拉贝的回答很好。 但是,在地址范围和“s”命令之间添加一个空格会使它更清晰。 像这样:

sed -i '0,/a/ s//e/' example

而威尔逊的版本似乎是多余的。

可能的重复:为了更大的可读性,这可以写成
sed-i0,/a/s/a/e/'