【发布时间】:2011-10-21 03:27:09
【问题描述】:
我正在尝试替换第 n 次出现的字符或字符串,而不管使用 awk 的行如何。
如果我们的数据是这样的
|||||||
||||||
|||||
|||
我们试图替换 |与A
那么输出应该是这样的,假设我们要替换每 3 次出现
||A||A|
|A||A|
|A||A
||A
我当前使用的 awk 命令是这样的
awk '/|/{c++;if(c==3){sub(/|/,"A");c=0}}1' test.data
它错误地输出了这个
|||||||
||||||
A||||
|||
数据也可以是这样的
|||xfsafrwe|||asfasdf|
|safasf|||asfasdf||
||asfasf|||
|||
结果当然是这样的
||Axfsafrwe||Aasfasdf|
|safasfA||asfasdfA|
|Aasfasf||A
||A
谢谢
【问题讨论】: