运行命令uname -r给我们:

3.10.0-229.14.1.el7.x86_64


我需要提取“ el7”。我对regexp不太满意,可以伸出援手。如果可以,请说明解决方案中发生的情况。

谢谢

最佳答案

在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

关于regex - 正则表达式抢红帽发行版,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34205289/

10-15 05:11