bash + 如何从 rpm 捕获版本
这是我尝试获取 Kafka 版本时的方式
rpm -qa | grep "^kafka_"
kafka_2_6_5_0_292-1.0.0.2.6.5.0-292.noarch
Kafka 版本是 1.0 ,所以我做了以下操作以削减 Kafka 版本
rpm -qa | grep "^kafka_" | sed s'/-/ /g' | awk '{print $2}' | cut -c 1-3
1.0 <----- results
上面的 cli 似乎没有那么优雅和冗长的语法
我们能不能做得更好,也许使用 Perl 或 Python one liner 命令?
回答
您可以使用单个awk:
rpm -qa |
awk -F- '/^kafka_/ && split($2, a, /\./) >= 1 {print a[1] "." a[2]}'
1.0