查找文本并替换为索引

查找文本并替换为索引

我需要找到一个字符串并用移动索引替换它(在这种情况下,查找模式是“replaceThis”)

例如:

id=replaceThis
......
id=replaceThis
......
id=replaceThis

应该成为

id=0
......
id=1
......
id=2

我的环境是 Windows(和 Notepad++),但我也可以访问 Cygwin

答案1

awk在 Cygwin 中这相当容易:

awk '{ while ($0 ~ /replaceThis/) sub(/replaceThis/, counter++) } 1'

在每一行中,只要它包含您要查找的字符串,就用计数器的值替换(一次出现),然后递增。末尾的1是告诉awk在替换所有出现的字符串(如果有)后打印该行的简写方式;您也可以这样说

awk '{ while ($0 ~ /replaceThis/) sub(/replaceThis/, counter++); print }'

相关内容