我只需要在 bash 中获取“uname -r”命令的前两个数字
常规输出示例:
uname -r
3.5.0-18-generic
我期望使用魔术 bash 选项:
3.5
假设您想要第二个点之前的所有内容,这将满足您的需求:
uname -r | cut -d. -f1-2
uname 本身不支持削减输出,afaik。贯穿切口的管道将显示字段 1 和 2 ( ),由点 ( )-f1-2
分隔-d.
uname -r | sed 's/\([0-9]\+\.[0-9]\+\)\..*/\1/'
您还可以通过参数扩展来完成此操作:
$ r="$(uname -r)"
$ echo ${r%.*}
3.5
${VAR%pat}
非贪婪地pat
从VAR
. 请注意,这pat
是一个 glob 模式,即 dot 仅表示“点”,star 表示“任意数量的字符”。