从文件中过滤最新版本 rpm 的脚本

script to filter latest version of rpm from a file

我有一个文件,其中包含数千个不同版本的 rpm below.I 需要选择最新版本并将其存储在文件中..

yum-rhn-plugin-0.9.1-43.el6.noarch
yum-rhn-plugin-0.9.1-50.el6.noarch
yum-utils-1.1.30-14.el6.noarch
yum-utils-1.1.30-30.el6.noarch
zd1211-firmware-1.4-4.el6.noarch
zip-3.0-1.el6.x86_64
zlib-1.2.3-29.el6.x86_64

目标文件应仅包含以下 rpm 的..

yum-rhn-plugin-0.9.1-50.el6.noarch
yum-utils-1.1.30-30.el6.noarch
zd1211-firmware-1.4-4.el6.noarch
zip-3.0-1.el6.x86_64
zlib-1.2.3-29.el6.x86_64

请让我知道任何script/command适合这个

sort -ng file | tr '\n' ' ' | ruby -ne 'puts $_.split.group_by{|x|x[/^[^.]+-?[^\d.-]/]}.map{|k,v|v.last}'