如何在命令行上从我的 Ubuntu 版本中仅提取名称(或版本号)?

dgo*_*o.a 6 bash ubuntu

我只想要以下值之一:

  • 11.10
  • 梦幻般的

我试过签出lsb_release -rand uname -a,但输出仍然很冗长,没有使用grep. 这是我最接近的:

  • 发行名称:
    grep -oP 'CODENAME=(.+)' -m 1 /etc/lsb-release | awk -F= '{ print $NF }'
  • 版本号:
    grep -oP '\d+\.\d+' -m 1 /etc/lsb-release

dgo*_*o.a 10

最简单的方法是使用-sor --short

lsb_release -si 
#  Ubuntu

lsb_release -sr
#  11.04

lsb_release -sir
#  Ubuntu
#  11.04
Run Code Online (Sandbox Code Playgroud)


aio*_*obe 9

发布:

$ lsb_release --release
Release:    11.04
Run Code Online (Sandbox Code Playgroud)

对于代号:

$ lsb_release --codename
Codename:   natty
Run Code Online (Sandbox Code Playgroud)

要获得11.04或者natty您可以使用cut. 例如:

$ lsb_release --release | cut -f2
11.04
Run Code Online (Sandbox Code Playgroud)

对于一切:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty
Run Code Online (Sandbox Code Playgroud)