如何使用 sed 替换文件中第三次出现的相同正则表达式?

AlM*_*hdi 3 bash sed

sed当正则表达式看起来完全相同但我只想替换一个时,我在寻找一个脚本时遇到问题。

该文件如下所示:

something someting something
this 
something someting something
something someting something
this 
someting something
someting something
someting something
this
someting something
someting something
this
Run Code Online (Sandbox Code Playgroud)

我想用第三个“这个”代替其他东西。我试过:

sed '3,/this.*/s/this.*/something/'
Run Code Online (Sandbox Code Playgroud)

和各种类似的尝试,但它不起作用。

小智 5

这在 sed 中并不容易,但 awk 可以做到

awk '/this/{count++;if(count==3){sub("this","something")}}1'
Run Code Online (Sandbox Code Playgroud)