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/'