Linux 在bash中仅获取uname-r的一部分

Linux 在bash中仅获取uname-r的一部分,linux,bash,ubuntu,uname,Linux,Bash,Ubuntu,Uname,我只需要在bash中获得“uname-r”命令的前两个数字 定期输出的示例: uname -r 3.5.0-18-generic 我希望使用magic bash选项: 3.5 假设您想要第二个点之前的所有内容,这将满足您的要求: uname -r | cut -d. -f1-2 联塞特派团本身不支持削减产出。管道贯穿切割将显示字段1和2(-f1-2),由点(-d.)分隔。您也可以通过参数展开来完成此操作: $ r="$(uname -r)" $ echo ${r%.*} 3.5 ${VA

我只需要在bash中获得“uname-r”命令的前两个数字

定期输出的示例:

uname -r
3.5.0-18-generic
我希望使用magic bash选项:

3.5

假设您想要第二个点之前的所有内容,这将满足您的要求:

uname -r | cut -d. -f1-2

联塞特派团本身不支持削减产出。管道贯穿切割将显示字段1和2(
-f1-2
),由点(
-d.
)分隔。

您也可以通过参数展开来完成此操作:

$ r="$(uname -r)"
$ echo ${r%.*}
3.5

${VAR%pat}
非贪婪地从
VAR
末尾删除
pat
。请注意,
pat
是一种全局模式,即点表示“点”,星表示“任意字符数”。

您知道如何将其捕获到变量中吗?我承认使用Yefim的解决方案更有效,它不需要sed。@Ba7a7chy VER=$(uname-r | cut-d.-f1-2)
$ r="$(uname -r)"
$ echo ${r%.*}
3.5