使用 SED/AWK 增加 PKGBUILD 文件中变量的值

问题描述

我有一个我正在维护的 PKGBUILD 文件(用于 AUR)。它有一个值“pkgrel”,在每次构建包之前,我都会将其加 1(手动)。

总结一下,如果我想第六次构建包,我会手动设置值

pkgrel=6

我还为其他进程编写了 bash 脚本。我被困在这里。请指导我如何通过任何 sed/awk 表达式增加 pkgrel 的值。我想要这样,也就是说,我第 7 次构建包,SED/AWK 表达式应该将值设置为 7

pkgrel=7

在我的脚本中运行 makepkg 命令之前。

我不限制对 sed/awk 的回答,如果任何其他方法有效,请指导我。唯一的条件是它应该是 bash。

解决方法

假设 pkgrel 是其行中的第一个单词,并且其周围或 = 周围没有空格,您可以使用以下 awk 命令打印更新的 PKGBUILD。

awk -F= -v OFS== '$1=="pkgrel" {$2++} 1' PKGBUILD 

要就地更新文件,您可以使用 GNU awk 的 -i inplace 选项。