不取代第二次出现

时间:2018-06-04 09:26:11

标签: sed

文件:测试

cat cat
dog cat
dog puppy
dog cat

命令:

sed -i 's/dog/big_dog/2' test

根据此处的解释:http://www.grymoire.com/Unix/Sed.html#uh-8代码的输出应为:

cat cat
dog cat
big_dog puppy
dog cat

但是文件对我来说没有变化。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

看起来awk有一个解决方案:

awk '/dog/{c++;if(c==2){sub("dog","big_dog");c=0}}1' test

来源:https://www.linuxquestions.org/questions/programming-9/replace-2nd-occurrence-of-a-string-in-a-file-sed-or-awk-800171/