运行命令uname -r
给我们:
3.10.0-229.14.1.el7.x86_64
我需要提取" el7"。我对正则表达式并不是那么好,可以伸出援助之手。如果可以,请解释解决方案中发生的情况。
谢谢
答案 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