Bash - 从String中提取数字

use*_*250 5 unix bash shell

我有一个看起来像这样的字符串:

"abcderwer 123123 10,200 asdfasdf iopjjop"

现在我想提取数字,遵循方案xx,xxx,其中x是0-9之间的数字.例如10,200.必须是五位数,并且必须包含",".

我怎样才能做到这一点?

谢谢

cod*_*ict 9

你可以使用grep:

$ echo "abcderwer 123123 10,200 asdfasdf iopjjop" | egrep -o '[0-9]{2},[0-9]{3}'
10,200
Run Code Online (Sandbox Code Playgroud)


Pau*_*ce. 5

在纯 Bash 中:

pattern='([[:digit:]]{2},[[:digit:]]{3})'
[[ $string =~ $pattern ]]
echo "${BASH_REMATCH[1]}"
Run Code Online (Sandbox Code Playgroud)