正则表达式抓取 Red Hat 发行版

Regular expression to grab Red Hat release version

运行 命令 uname -r 给我们:

3.10.0-229.14.1.el7.x86_64

我需要提取 "el7"。我对正则表达式不是很好,可以帮忙。如果可以,请解释解决方案中发生的事情。

谢谢

在 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