我想将文件中的字符串和数字分开,以在bash脚本中获取特定的数字,例如:
Branches executed:75.38% of 1190
我只想获取号码
75.38
。我尝试过像下面的代码
$new_value=value | sed -r 's/.*_([0-9]*)\..*/\1/g'
但它不正确并且失败了。
它应该如何运作?在此先感谢您的帮助。
最佳答案
您可以使用以下正则表达式提取一行中的第一个数字:
^[^0-9]*\([0-9.]*\).*$
用法:
% echo 'Branches executed:75.38% of 1190' | sed 's/^[^0-9]*\([0-9.]*\).*$/\1/'
75.38
关于regex - 如何在 bash 脚本中使用 sed 来正则表达式字符串和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36649081/