正则表达式以获取Red Hat发行版

时间:2015-12-10 15:07:18

标签: regex centos

运行命令uname -r给我们:

3.10.0-229.14.1.el7.x86_64

我需要提取" el7"。我对正则表达式并不是那么好,可以伸出援助之手。如果可以,请解释解决方案中发生的情况。

谢谢

1 个答案:

答案 0 :(得分:3)

在BASH中你可以使用这个正则表达式:

s='3.10.0-229.14.1.el7.x86_64'
[[ $s =~ ([^.]+)\.[^.]+$ ]] && echo "${BASH_REMATCH[1]}"
el7

或者没有正则表达式使用awk:

uname -r | awk -F '.' '{print $(NF-1)}'
el7