如何从 debian/changelog 中提取软件包版本?

Ric*_*sen 13 packaging deb source-packages

解析源包的debian/changelog文件(或debian/control?)以获取包的版本号的最可靠方法是什么?就像是:

pkgver=$(dpkg-parsechangelog | magic_goes_here)
Run Code Online (Sandbox Code Playgroud)

我想提取版本号(并且只有版本号),以便我可以在脚本中对其进行操作。

我期待为此找到一个dpkg-*实用程序,但我还没有找到。

Mar*_*ler 21

如果您有 1.17.0 或更高版本,则可以使用

dpkg-parsechangelog --show-field Version
Run Code Online (Sandbox Code Playgroud)

无需进一步处理输出。该版本目前(2014 年 2 月)在 Debian 测试中可用。


and*_*ing 7

有很多方法可以做到这一点。

dpkg-parsechangelog | sed -n 's/^Version: //p'

或者:

dpkg-parsechangelog | grep Version: | cut -d' ' -f2-