0

我正在寻找一个可以在没有架构的情况下返回内核构建的命令。

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

我可以使用正则表达式来做到这一点,并将最后一个点之后的所有内容都剔除

4

3 回答 3

1

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

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

例子 -

$ unname -r

2.6.32-358.6.2.el6.x86_64

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

2.6.32-358.6.2.el6

于 2013-08-01T21:59:26.110 回答
0

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

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

           uname -a | awk '{print $3}'
于 2013-08-01T22:48:50.473 回答
0

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

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

于 2013-08-01T21:06:49.470 回答