Linux 如何在没有arch的情况下获得内核版本

Linux 如何在没有arch的情况下获得内核版本,linux,uname,Linux,Uname,我正在寻找一个命令,它将返回没有架构的内核构建 uname-r返回:2.6.32-279.22.1.el6.x86_64但我只需要2.6.32-279.22.1.el6 我可以使用一个正则表达式来实现这一点,并将所有内容都跳过最后一个点如果可以使用正则表达式,则可以将字符串与^(.*)\..[^.]*$匹配,并获取第一个捕获组 ((.*)\..*通常也可以使用“贪婪”量词,但请参阅您的正则表达式引擎的参考。)我不确定它的可移植性,但您可以执行以下操作-- uname-r|sed s/\.`arc

我正在寻找一个命令,它将返回没有架构的内核构建

uname-r返回:2.6.32-279.22.1.el6.x86_64但我只需要2.6.32-279.22.1.el6


我可以使用一个正则表达式来实现这一点,并将所有内容都跳过最后一个点

如果可以使用正则表达式,则可以将字符串与
^(.*)\..[^.]*$
匹配,并获取第一个捕获组


(.*)\..*
通常也可以使用“贪婪”量词,但请参阅您的正则表达式引擎的参考。)

我不确定它的可移植性,但您可以执行以下操作--

uname-r|sed s/\.`arch`//

示例-

$uname-r

2.6.32-358.6.2.el6.x86_64

$uname-r|sed s/\.`arch`//


2.6.32-358.6.2.el6

你无法避免它。在内核构建期间,在“本地版本-附加到内核版本”(*/init/Kconfig#L56)配置选项的帮助下,设置这些额外的“el6.x86_64”,主要用于跟踪构建和发布版本

因此,可能的解决方法如下所示:

           uname -a | awk '{print $3}'
你说“我可以用正则表达式做这个”。看来你已经解决了。那么问题是什么?