In BASH, you can do this:
num='a0b1c0d23'
n="${num//[^[:digit:]]/}"
echo ${
5
With awk you can:
num='012'
awk -F '[0-9]' '{print NF-1}' <<< "$num"
3
num='00012'
awk -F '[0-9]' '{print NF-1}' <<< "$num"
5
num='a0b1c0d'
awk -F '[0-9]' '{print NF-1}' <<< "$num"
3
source
share