我有一堆包含完全相同的日志消息的文件.其中一个发生,但由于消息相同,我不知道哪一个.我想要做的是在所有这些消息之后附加一个数字以区分它们.
现在通常当我有一堆搜索和替换执行我只是写一个快速perl单行像:
perl -pi -e 's/searched/replacement/g' *.c
Run Code Online (Sandbox Code Playgroud)
但是如何插入替代品呢?
您可以使用e正则表达式修饰符将正在运行的计数器值附加到替换项:
perl -pi -e 's/searched/"replacement".++$i/ge' *.c
Run Code Online (Sandbox Code Playgroud)
演示:
$ cat file
hi foo
hey foo
bye foo
$ perl -p -e 's/foo/"bar".++$i/ge' file
hi bar1
hey bar2
bye bar3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1372 次 |
| 最近记录: |