sed 增量算法

Con*_*Law 4 ubuntu sed gnu shell-script arithmetic

我想通过每次运行特定sed行时将该数字递增 1 来更改字符串末尾的数字。

字符串如下所示:

server-port=25555
Run Code Online (Sandbox Code Playgroud)

我想我可以运行类似这sed条线的东西来做到这一点,但它不起作用。

sed -i 's/port=[0-9]{5}/int(&+1)/'
Run Code Online (Sandbox Code Playgroud)

Gui*_*ido 8

我建议perl不要sed执行此任务:

perl -i -pe 's/(port=)(\d+)$/$1.($2+1)/e' filename
Run Code Online (Sandbox Code Playgroud)