我有一个文件,其中包含数千个具有不同版本的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


请让我知道适合此的任何脚本/命令

最佳答案

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

关于linux - 脚本从文件中过滤最新版本的rpm,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28167085/

10-16 18:40