regex - 如何在 bash 脚本中使用 sed 来正则表达式字符串和数字

标签 regex bash separator

我想将文件中的字符串和数字分开,以在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/

相关文章:

javascript - 在 javascript 正则表达式中转义元字符

Jquery验证: Regexing a non-US phonenumber

linux - GNU find,使用 -exec 保持 {} 不变

linux - sed:如何删除与包含正斜杠的模式匹配的行?

shell - 在 Awk 中打印除最后一行之外的逗号

java - 正则表达式捕获 : get only result from second group

Python 正则表达式搜索 : repeated digit n times

linux - 意外标记附近的语法错误 `then'

ios - 如何在保留分隔符的同时拆分 NSString

java csv分号问题