bash - 如何使用 sed 或 perl 增加和查找/替换数字

标签 bash ubuntu

我有一个名为“a_tag-30”的 git 标记,我想找到最后一个标记并使用 sed 或 perl 表达式将其增加 1,因此结果将是“a_tag-31”。有人可以帮我吗?

最佳答案

以下 git 命令获取所有匹配模式“a_tag-*”的标签,通过“-taggerdate”键按降序排序。
git tag --list 'a_tag-*' --sort=-taggerdate | head -1 | awk -F- '{print "a_tag-" $NF+1}'
然后将第一行馈送到 awk 命令,其中“-”用作字段分隔符。
因此 $NF 位置参数(即 NF 表示字段数,它是 awk 中的预定义变量)保存最后一个字段的值。

最后通过将 $NF 加 1 来打印新的标签值。

关于bash - 如何使用 sed 或 perl 增加和查找/替换数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58371649/

相关文章:

linux - 在 Linux 中删除文件名的 10 个字符

regex - 将匹配 YYMMDD 但不匹配更长数字的 bash 正则表达式

bash - 如何在 bash 中对语义版本进行排序?

bash - 在 bash 中具有算术比较行为的 If 语句

c++ - 在带有符号链接(symbolic link)的可执行文件中使用相对路径

linux - Azure Ubuntu : Why is the temp drive mounted to/mnt?

linux - 在 pythonanywhere 中初始化 Tor 时出错 - 卡在 5%

linux - sed:如何删除与包含正斜杠的模式匹配的行?

linux - 使用 bash shell 脚本加密文件

linux - 日期 : extra operand '+%s'