我有一堆包含完全相同的日志消息的文件。其中一个发生了,但由于消息相同,我不知道是哪一个。我想要做的是在所有这些消息之后附加一个数字来区分它们。
现在通常当我有一堆搜索和替换来执行时,我只写一个快速的 perl 单行代码,如:
perl -pi -e 's/searched/replacement/g' *.c
但是如何在替换中插入计数器?
最佳答案
您可以使用 e
regex 修饰符将运行计数器值附加到您的替换中:
perl -pi -e 's/searched/"replacement".++$i/ge' *.c
演示:
$ cat file
hi foo
hey foo
bye foo
$ perl -p -e 's/foo/"bar".++$i/ge' file
hi bar1
hey bar2
bye bar3
关于regex - 搜索和替换字符串,并在替换中放置一个计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498825/