cat /etc/redhat-release
返回:
CentOS Linux release 5.6.1804 (Core)
如何选择我只尝试过的第一个号码
cat /etc/redhat-release | awk '{print $4}'
这给了我回复:
5.6.1804
但我只想要第一个数字
答案1
如果您的 CentOS 机器已经redhat-lsb
或redhat-lsb-core
安装了:
lsb_release -sr | cut -d '.' -f 1
这将使用该命令(仅)获取发行版本lsb_release
,然后cut
输出第一个点之前的位。
在16.04
Ubuntu 机器上:
$ lsb_release -sr | cut -d '.' -f 1
16
答案2
使用awk:
awk -F '[ .]' '{print $4}' /etc/redhat-release
使用sed:
sed -E 's/[ Aa-Zz]*([0-9]+).*/\1/' /etc/redhat-release
使用grep:
grep -Eo ' [0-9]' /etc/redhat-release
答案3
$ echo 'CentOS Linux release 5.6.1804 (Core)'|awk '{print $4}'|awk -F '.' '{print $1}'
5
需要我多说?
答案4
sed -Ee's/^.* ([0-9.]+) .*$/\1/' /etc/redhat-release |cut -f1,1 -d.
Sed 命令提取整个版本号(与 AWK 相同,因此您也可以使用它),第二个命令使用“.”从中提取第一个字段。作为分隔符。
所以你也可以使用: awk '{print $4}' /etc/redhat-release |cut -f1,1 -d。