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

时间:2015-01-27 09:31:36

标签: linux bash

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

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

请告诉我任何适用于此

的脚本/命令

1 个答案:

答案 0 :(得分:0)

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