在shell脚本中提取版本字符串

时间:2012-08-01 19:31:52

标签: linux shell

我在我的linux框中安装了一个名为my-scheduler-1.1.0-1112

的程序

当我做rpm -qa |时grep my,它列出如下所示:

my-scheduler-1.1.0-1112

我想要一个命令,它将提取1.1.0-1112,这是我的shell脚本中的版本部分。

在shell脚本中提取它的命令是什么?

1 个答案:

答案 0 :(得分:3)

对于这个问题,您可以尝试使用 - queryformat 参数来获取rpm。

像:

rpm -qa --queryformat '%{NAME}' | grep my

应该打印

my-scheduler

没有版本字符串...用sed或类似物来捣蛋更好。因为你可以得到像package-1.0.3-rc2或soo ..

这样的东西

对于版本发布:使用:

--queryformat "%{VERSION}-%{RELEASE}"

并且可能有用阅读http://www.rpm.org/max-rpm/ch-queryformat-tags.html - 这里有许多有用的查询格式标签,因此您可以直接获得您想要的内容以及您想要的格式,而无需编写脚本...