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

我想提取数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

如何获得 10

回答

一个简单的awk:

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

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

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

10


以上是Bash提取三位数版本的第一个数字的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>