查找并替换一行文本中的值

Jef*_*hua 1 grep sed text-processing replace

我有一个仅包含 1 行文本的文本文件

1314:Battery:1.90:50:30
Run Code Online (Sandbox Code Playgroud)

我想弄清楚是否还有做 agrep并将sed值 50 和 30 更改为以下内容的方法

1314:Battery:1.90:45:35
Run Code Online (Sandbox Code Playgroud)

我将从 50 减少 5,从 30 增加 5。

请指导我是否有更好的方法来解决这个问题?我刚开始学习这个脚本。谢谢=)

Cyr*_*rus 6

awk -F":" '{OFS=":"; print $1,$2,$3,$4-5,$5+5}' filename
Run Code Online (Sandbox Code Playgroud)

输出:

1314:电池:1.90:45:35