查找文本并替换为索引


1

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

例如:

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

应该成为

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

我的环境是Windows(和notepad ++),但我也可以使用cygwin


Answers:


2

awk(在Cygwin中)这很容易:

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

在每一行中,只要它包含您要查找的字符串,就将其替换(出现一次)为计数器的值,然后递增该值。1末尾的at是一种捷径,告诉awk它在替换掉所有出现的字符串(如果有)之后打印该行;你也可以说

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

看起来很有希望...将尝试进行举报
aiao

奇迹般有效。Awk的语法和用法非常繁琐。有什么开始学习的指针吗?
aiao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.