球baba的欢乐时光

vuePress-theme-reco 球baba    2020 - 2025
球baba的欢乐时光 球baba的欢乐时光

Choose mode

  • dark
  • auto
  • light
Home
Category
  • 伪技术宅
Tag
TimeLine
Contact
  • reco_luan大大的NPM
  • reco_luan大大的GitHub
author-avatar

球baba

27

文章

58

标签

Home
Category
  • 伪技术宅
Tag
TimeLine
Contact
  • reco_luan大大的NPM
  • reco_luan大大的GitHub
  • 获取rpm软件包中软件名称

获取rpm软件包中软件名称

vuePress-theme-reco 球baba    2020 - 2025

获取rpm软件包中软件名称


球baba 2023-04-15 16:00:00 rpm awk

最近要对不同版本的linux系统通过rpm安装的软件包进行对比,直接获取的rpm包是带版本号的,用excel进行对比会因为存在版本不一致的情况导致匹配不上。

网上搜到这篇《提取rpm包的文件名》

rpm -qa | awk -F. '{print substr($1,0,length($1)-2)}'
1

文章中提到的这个命令测试下来能去除90%以上的版本号,但总归有几个看上去是没弄干净。

虽然不完美,但打开了思路,除了用小数点外,是不是用“-”更加合适呢?

结合rpm包的命名规则来看

name-version-release.os.arch.rpm

软件名称-版本号-发布次数.适合linux系统.硬件平台.rpm

用“-”进行分割,去掉最后两列的内容之后,就只剩下所需的软件名称了。

不得不感叹awk的强大,本来想着是不是要用python,但awk就能直接搞定了。

rpm -qa | awk -F- 'BEGIN{FS="-";OFS="-"}{$NF="";$(NF-1)=""; print substr($0,0,length($0)-2)}'
1

🌻🌻🌻