Bash 提取三位数版本的第一个数字

Dic*_*A S 5 awk sed

我想提取数1010.3.0用于Makefile添加特定CFLAGS
下面的代码只打印1030

echo "gcc.exe (Rev5, Built by MSYS2 project) 10.3.0"|sed -r 's/.* ([0-9])/\1/g' | sed -r 's/\.//g'
1030
Run Code Online (Sandbox Code Playgroud)

如何获得 10

anu*_*ava 7

一个简单的awk:

echo "gcc.exe (Rev5, Built by MSYS2 project) 10.3.0" | awk '{print int($NF)}'
10
Run Code Online (Sandbox Code Playgroud)

或者,如果您必须sed仅使用:

echo "gcc.exe (Rev5, Built by MSYS2 project) 10.3.0" |
sed -E 's/.* ([0-9]+).*/\1/'

10
Run Code Online (Sandbox Code Playgroud)