Eta*_*ner 12
假设变量只包含数字,那么shell已经使用Shell参数扩展的长度执行了您想要的操作.
$ var=012
$ echo "${#var}"
3
Run Code Online (Sandbox Code Playgroud)
在BASH中你可以这样做:
num='a0b1c0d23'
n="${num//[^[:digit:]]/}"
echo ${#n}
5
Run Code Online (Sandbox Code Playgroud)
使用awk你可以做到:
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
Run Code Online (Sandbox Code Playgroud)