通过正则表达式解析字符串

通过正则表达式解析字符串

如何解析字符串输出

5 Secs ( 2.2889%) 60 Secs ( 2.5874%) 300 Secs ( 2.6215%)    

只采取2.6215

答案1

使用 grep 和 lookbehind/lookahead:

grep -Po "(?<=Secs \( )[0-9.]*(?=%\)$)"

使用 sed:

sed 's/.*Secs ([[:space:]]*\([0-9.]*\)%)$/\1/g'

答案2

假设您正在使用 bash,像这样?

PATTERN="(\d+\.\d{4})%\)$"
if [[ "${VALUE}" =~ ${PATTERN} ]] ; then 
   VALUE="${BASH_REMATCH[1]}"
fi 

从此重新制作Stack Overflow 帖子

答案3

就我个人而言,我是一个“保持简单”的人:

./command | awk '{print $12}' | sed 's/%)//'

相关内容