我正在尝试一种识别String上的数字并将这些数字放在变量上的算法。 例如,“abc 123”在变量上保存123。 谢谢。
答案 0 :(得分:0)
假设您只需要第一个数字:
myNumber="$(printf %s "$myString" | grep -Eo '[[:digit:]]+' | head -1)"
答案 1 :(得分:0)
因为一个字符串可能有更多的数字段,所以我会选择sed:
sed 's/[^0-9]//g'
kent$ echo "foo 0 abc 123 foo 456"|sed 's/[^0-9]//g'
0123456
我希望这就是你想要的。
哦,忘了"保存到变量"部分:kent$ number=$(echo "foo 0 abc 123 foo 456"|sed 's/[^0-9]//g')
kent$ echo $number
0123456