Bash: How to extract digits from a number
所以我给我的剧本介绍了一个数字,就像这样:
1 | ./script 795 |
我想从这个数字中提取每个数字,并检查它是否小于7。类似:
1 2 3 | if [ 7 -le 7 ] then echo"The first digit is smaller than 7" |
我想知道如何提取每个数字。
可以使用子字符串将第一个参数的第一个字符提取到脚本中:
1 2 3 | if [ ${1:0:1} -lt 7 ]; then echo"The first digit is smaller than 7" fi |
要对每个字符执行此操作,则可以使用循环:
1 2 3 4 5 | for (( i = 0; i < ${#1}; ++i )); do if [ ${1:$i:1} -lt 7 ]; then echo"Character $i is smaller than 7" fi done |
注意,我已经将EDOCX1(小于或等于)改为EDOCX1(小于)以使您的信息正确。