如何使用 SED linux 获取第一个数字

Yan*_*ael 1 linux bash sed

“00:02.0 VGA 兼容控制器:InnoTek Systemberatung GmbH VirtualBox 图形适配器”如何在 Bash 脚本中获得带有 SED 的 VGA 之前的第一个数字?谢谢!

gho*_*g74 5

$ s="00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter"
$ echo $s| sed 's/\(.*\)VGA.*/\1/'
00:02.0
$ echo $s| sed 's/\([0-9]\+:[0-9]\+.*\)VGA.*/\1/'
00:02.0
$ echo $s| sed 's/VGA.*//'
00:02.0
Run Code Online (Sandbox Code Playgroud)

或 awk

$ echo $s| awk '{print $1}'
00:02.0
Run Code Online (Sandbox Code Playgroud)


Pau*_*ce. 5

这也可行,但它依赖于您想要的数字后面有一个空格。

sed 's/ .*//'
Run Code Online (Sandbox Code Playgroud)